NobMail
Based on mailcow: dockerized
Repository composition by tracked source files.
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git
Commit
[Helper] Fix cold-standby script to support digits and override files (#6800)
This commit fixes two bugs in the cold-standby script: 1. Support digits in COMPOSE_PROJECT_NAME The script was stripping digits from COMPOSE_PROJECT_NAME, while backup_and_restore.sh (fixed in a71d991c) correctly supports them. Added '0-9' to the tr character set to align behavior. 2. Support docker-compose.override.yml on remote Lines 172 and 287 explicitly used '-f docker-compose.yml' which causes Docker Compose to ignore docker-compose.override.yml even when present. Changed to 'cd && compose' pattern (matching line 296) to auto-discover override files. Impact: Users with custom volumes/services in override file would experience silent failures - volumes not created, images not pulled, data syncing to wrong locations. Both fixes ensure cold-standby works correctly with standard Docker Compose conventions and user customizations. Co-authored-by: Christophe Neuerburg <[email protected]>
3cc28af6
helper-scripts/_cold-standby.sh | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
Diff
diff --git a/helper-scripts/_cold-standby.sh b/helper-scripts/_cold-standby.sh
index f02436a9..d4c3d0cf 100755
--- a/helper-scripts/_cold-standby.sh
+++ b/helper-scripts/_cold-standby.sh
@@ -117,7 +117,7 @@ fi
SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
source "${SCRIPT_DIR}/../mailcow.conf"
COMPOSE_FILE="${SCRIPT_DIR}/../docker-compose.yml"
-CMPS_PRJ=$(echo ${COMPOSE_PROJECT_NAME} | tr -cd 'A-Za-z-_')
+CMPS_PRJ=$(echo ${COMPOSE_PROJECT_NAME} | tr -cd '0-9A-Za-z-_')
SQLIMAGE=$(grep -iEo '(mysql|mariadb)\:.+' "${COMPOSE_FILE}")
preflight_local_checks
@@ -169,7 +169,7 @@ if ! ssh -o StrictHostKeyChecking=no \
-i "${REMOTE_SSH_KEY}" \
${REMOTE_SSH_HOST} \
-p ${REMOTE_SSH_PORT} \
- ${COMPOSE_COMMAND} -f "${SCRIPT_DIR}/../docker-compose.yml" create 2>&1 ; then
+ "cd \"${SCRIPT_DIR}/../\" && ${COMPOSE_COMMAND} create 2>&1" ; then
>&2 echo -e "\e[31m[ERR]\e[0m - Could not create networks, volumes and containers on remote"
fi
@@ -284,7 +284,7 @@ echo "OK"
-i "${REMOTE_SSH_KEY}" \
${REMOTE_SSH_HOST} \
-p ${REMOTE_SSH_PORT} \
- ${COMPOSE_COMMAND} -f "${SCRIPT_DIR}/../docker-compose.yml" pull --quiet 2>&1 ; then
+ "cd \"${SCRIPT_DIR}/../\" && ${COMPOSE_COMMAND} pull --quiet 2>&1" ; then
>&2 echo -e "\e[31m[ERR]\e[0m - Could not pull images on remote"
fi