diff --git a/docker-compose.yml b/docker-compose.yml index b25df7b..05ec7fb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -53,7 +53,7 @@ services: profiles: ["db"] image: ${AC_DB_IMPORT_IMAGE} container_name: ${CONTAINER_DB_IMPORT} - user: "0:0" + user: "${CONTAINER_USER}" userns_mode: "keep-id" depends_on: ac-mysql: @@ -90,7 +90,6 @@ services: - sh - -c - | - chown ${CONTAINER_USER} /azerothcore/env/dist/etc 2>/dev/null || true echo "đŸ“Ĩ Using local database import script..." /tmp/db-import-conditional.sh restart: "no" @@ -206,7 +205,7 @@ services: user: "${CONTAINER_USER}" volumes: - ac-client-data:/azerothcore/data - - ${CLIENT_DATA_CACHE_PATH}:/cache + - client-data-cache:/cache - ./scripts:/tmp/scripts:ro working_dir: /tmp environment: @@ -234,7 +233,7 @@ services: user: "${CONTAINER_USER}" volumes: - ac-client-data:/azerothcore/data - - ${CLIENT_DATA_CACHE_PATH}:/cache + - client-data-cache:/cache - ./scripts:/tmp/scripts:ro working_dir: /tmp environment: @@ -523,7 +522,7 @@ services: profiles: ["modules"] image: ${ALPINE_GIT_IMAGE} container_name: ${CONTAINER_MODULES} - user: "0:0" + user: "${CONTAINER_USER}" depends_on: ac-mysql: condition: service_healthy @@ -600,7 +599,7 @@ services: profiles: ["modules"] image: ${ALPINE_IMAGE} container_name: ${CONTAINER_POST_INSTALL} - user: "0:0" + user: "${CONTAINER_USER}" volumes: - ${STORAGE_PATH}/config:/azerothcore/config - ${STORAGE_PATH}/install-markers:/install-markers @@ -635,7 +634,6 @@ services: - -c - | apk add --no-cache bash curl docker-cli - chown ${CONTAINER_USER} /azerothcore/config /install-markers 2>/dev/null || true echo "đŸ“Ĩ Running local auto-post-install script..." (chmod +x /tmp/scripts/auto-post-install.sh 2>/dev/null || true) && bash /tmp/scripts/auto-post-install.sh restart: "no" @@ -708,6 +706,8 @@ volumes: ac-client-data: name: ${CLIENT_DATA_VOLUME} driver: local + client-data-cache: + driver: local networks: azerothcore: diff --git a/scripts/migrate-stack.sh b/scripts/migrate-stack.sh index 3050167..52eaf19 100755 --- a/scripts/migrate-stack.sh +++ b/scripts/migrate-stack.sh @@ -237,7 +237,6 @@ if [[ $SKIP_STORAGE -eq 0 ]]; then if [[ -d "$LOCAL_MODULES_DIR" ]]; then echo "⋅ Syncing module staging to remote" run_ssh "rm -rf '$REMOTE_STORAGE/modules' && mkdir -p '$REMOTE_STORAGE/modules'" - local modules_tar modules_tar=$(mktemp) tar -cf "$modules_tar" -C "$LOCAL_MODULES_DIR" . run_scp "$modules_tar" "$USER@$HOST:/tmp/acore-modules.tar" diff --git a/scripts/stage-modules.sh b/scripts/stage-modules.sh index c4994b0..636d787 100755 --- a/scripts/stage-modules.sh +++ b/scripts/stage-modules.sh @@ -34,6 +34,15 @@ sync_local_staging(){ if [ ! -d "$src_modules" ]; then echo "â„šī¸ No local module staging found at $src_modules (skipping sync)." + # Check if modules exist in destination storage + if [ -d "$dest_modules" ] && [ -n "$(ls -A "$dest_modules" 2>/dev/null)" ]; then + local module_count + module_count=$(find "$dest_modules" -maxdepth 1 -type d | wc -l) + module_count=$((module_count - 1)) # Subtract 1 for the parent directory + if [ "$module_count" -gt 0 ]; then + echo "✅ Found $module_count modules in shared storage at $dest_modules" + fi + fi return fi