diff --git a/entrypoint.sh b/entrypoint.sh index f6f725b..697a52b 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -9,8 +9,29 @@ echo "everything from scratch. For more information about the new version, check echo "https://github.com/shenxn/protonmail-bridge-docker" echo +if [ -d /root/.config/protonmail ]; then + echo "Volume mount at `/root` for old version found. Please change your mount path to `/protonmail/data`." + echo "See https://github.com/shenxn/protonmail-bridge-docker for detailed migration guide." + echo "Exit in 30 seconds..." + sleep 30 + exit 1 +fi + groupadd -g ${PROTON_GID:-1001} proton useradd -g proton -u ${PROTON_UID:-1001} -m proton -chown proton:proton -R /protonmail/data +chown proton:proton /protonmail/data + +# Migrate old version data +if [ -d /protonmail/data/.config/protonmail ]; then + echo "Migrating legacy data. Note that this operation is irreversible so it is impossible" + echo "to go back to the old version without clearing the volume." + echo + + mv /protonmail/data/.config/protonmail /protonmail/data/config + rm -rf /protonmail/data/.config + mv /protonmail/data/.cache/protonmail /protonmail/data/cache + rm -rf /protonmail/data/.cache + chown proton:proton -R /protonmail/data +fi exec gosu proton:proton run_protonmail_bridge.sh "$@" diff --git a/run_protonmail_bridge.sh b/run_protonmail_bridge.sh index ec1f281..8a6e007 100755 --- a/run_protonmail_bridge.sh +++ b/run_protonmail_bridge.sh @@ -3,9 +3,9 @@ set -e # Generate gpg keys -GNUPG_PATH=/protonmail/data/gnupg +GNUPG_PATH=/protonmail/data/.gnupg export GNUPGHOME=${GNUPG_PATH} -if [ ! -f ${GNUPG_PATH} ]; then +if [ ! -d ${GNUPG_PATH} ]; then echo "Generateing gpg keys..." # set GNUPGHOME to a temp directory as a workaround for # @@ -25,8 +25,8 @@ if [ ! -f ${GNUPG_PATH} ]; then fi # Initialize pass -PASSWORD_STORE=/protonmail/data/password-store -if [ ! -f ${PASSWORD_STORE} ]; then +PASSWORD_STORE=/protonmail/data/.password-store +if [ ! -d ${PASSWORD_STORE} ]; then echo "Initializing pass..." pass init pass-key # Move password store to /protonmail/data