From 3cc28af607194eda0a624413c7be2b168e0a5ba8 Mon Sep 17 00:00:00 2001 From: sdsys-ch <100968265+sdsys-ch@users.noreply.github.com> Date: Thu, 2 Oct 2025 09:21:26 +0200 Subject: [PATCH] [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 --- helper-scripts/_cold-standby.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/helper-scripts/_cold-standby.sh b/helper-scripts/_cold-standby.sh index f02436a95..d4c3d0cf2 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