From 51a8142c11d326ad71508a2cdac127feaadb6da0 Mon Sep 17 00:00:00 2001 From: Simon Ungar Felding Date: Tue, 10 Dec 2024 10:21:15 +0100 Subject: [PATCH] slight entrypoint enhancements for debugging purposes --- build/entrypoint.sh | 11 +++++++---- deb/entrypoint.sh | 12 +++++++----- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/build/entrypoint.sh b/build/entrypoint.sh index ac6506d..93712e4 100644 --- a/build/entrypoint.sh +++ b/build/entrypoint.sh @@ -19,18 +19,21 @@ if [[ $1 == init ]]; then /protonmail/proton-bridge --cli $@ else - # delete lock files if they exist - this can happen if the container is restarted forcefully - find $HOME -name "*.lock" -delete - + if [[ $HOME == / ]] then + echo "When running rootless, you must set a home dir as the HOME env var. We recommend /data. Make sure it is writable by the user running the container (currently id is $(id -u) and HOME is $HOME)." # give friendly error if you don't have protonmail data find $HOME | grep -q . || (echo "No files found - start the container with the init command, or copy/mount files into it at $HOME first. Sleeping 5 minutes before exiting so you have time to copy the files over." && sleep 300 && exit 1) # give friendly error if the user doesn't own the data if [[ $(id -u) != 0 ]]; then if [[ `find $HOME/.* -not -user $(id -u) | wc -l` != 0 ]]; then - echo "You do not own the data in $HOME. Please chown it to $(id -u), run the container as the owner of the data or run the container as root." && exit 1 + echo "You do not own the data in $HOME. Please chown it to $(id -u), run the container as the owner of the data or run the container as root." + exit 1 fi fi + # delete lock files if they exist - this can happen if the container is restarted forcefully + find $HOME -name "*.lock" -delete + # socat will make the conn appear to come from 127.0.0.1 # ProtonMail Bridge currently expects that. # It also allows us to bind to the real ports :) diff --git a/deb/entrypoint.sh b/deb/entrypoint.sh index 8bbc78f..a68a42c 100644 --- a/deb/entrypoint.sh +++ b/deb/entrypoint.sh @@ -33,19 +33,21 @@ if [[ $1 == init ]]; then protonmail-bridge --cli $@ else - - # delete lock files if they exist - this can happen if the container is restarted forcefully - find $HOME -name "*.lock" -delete - + if [[ $HOME == / ]] then + echo "When running rootless, you must set a home dir as the HOME env var. We recommend /data. Make sure it is writable by the user running the container (currently id is $(id -u) and HOME is $HOME)." # give friendly error if you don't have protonmail data find $HOME | grep -q . || (echo "No files found - start the container with the init command, or copy/mount files into it at $HOME first. Sleeping 5 minutes before exiting so you have time to copy the files over." && sleep 300 && exit 1) # give friendly error if the user doesn't own the data if [[ $(id -u) != 0 ]]; then if [[ `find $HOME/.* -not -user $(id -u) | wc -l` != 0 ]]; then - echo "You do not own the data in $HOME. Please chown it to $(id -u), run the container as the owner of the data or run the container as root." && exit 1 + echo "You do not own the data in $HOME. Please chown it to $(id -u), run the container as the owner of the data or run the container as root." + exit 1 fi fi + # delete lock files if they exist - this can happen if the container is restarted forcefully + find $HOME -name "*.lock" -delete + # socat will make the conn appear to come from 127.0.0.1 # ProtonMail Bridge currently expects that. # It also allows us to bind to the real ports :)