diff --git a/_modules/scripts/backup.sh b/_modules/scripts/backup.sh index e80d30d29..04f729d13 100644 --- a/_modules/scripts/backup.sh +++ b/_modules/scripts/backup.sh @@ -22,7 +22,12 @@ backup_failed() { # Whether to back up (asked with the other questions); the backup itself runs before the first change of the checkout backup_decide() { local output rc - RUN_BACKUP= + # exported: update.sh restarts itself after a branch switch, the decision and a backup already made stay + if [ "$MAILCOW_UPDATE_BACKUP_DECIDED" ]; then + return 0 + fi + export MAILCOW_UPDATE_BACKUP_DECIDED=y + export RUN_BACKUP= if [ "$FORCE" ] && [ ! "$BACKUP" ]; then return 0 fi diff --git a/update.sh b/update.sh index b4956a2d3..e39c92732 100755 --- a/update.sh +++ b/update.sh @@ -353,17 +353,6 @@ elif [ "$NEW_BRANCH" == "legacy" ] && [ "$CURRENT_BRANCH" != "legacy" ]; then git checkout -f "${BRANCH}" fi -if [ ! "$FORCE" ]; then - read -r -p "Are you sure you want to update mailcow: dockerized? All containers will be stopped. [y/N] " response - if [[ ! "${response}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then - echo "OK, exiting." - exit 0 - fi - detect_major_update -fi - -backup_run - if [ ! "$DEV" ]; then EXIT_COUNT=0 echo -e "\e[32mChecking for newer update script...\e[0m" @@ -377,6 +366,17 @@ if [ ! "$DEV" ]; then fi fi +if [ ! "$FORCE" ]; then + read -r -p "Are you sure you want to update mailcow: dockerized? All containers will be stopped. [y/N] " response + if [[ ! "${response}" =~ ^([yY][eE][sS]|[yY])+$ ]]; then + echo "OK, exiting." + exit 0 + fi + detect_major_update +fi + +backup_run + echo -e "\e[32mValidating docker-compose stack configuration...\e[0m" sed -i 's/HTTPS_BIND:-:/HTTPS_BIND:-/g' docker-compose.yml sed -i 's/HTTP_BIND:-:/HTTP_BIND:-/g' docker-compose.yml