fix: Sync deploy script with NAS version (v7)

- Fix paths: docker-compose.yml (not docker compose.yml)
- Use docker-compose command (not docker compose)
- Now matches the working version on NAS

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-18 01:08:55 +03:00
parent aac47afcb9
commit 5ca474a133

View File

@@ -1,5 +1,5 @@
#!/bin/sh
# Скрипт деплоя для octopus (FIXED v6 - Fix log path to use mounted volume)
# Скрипт деплоя для octopus (FIXED v7 - Correct paths and docker-compose)
LOG_FILE="/Volume1/DockerAppsData/mixapp/deploy-octopus.log"
HASH_FILE="/Volume1/DockerAppsData/mixapp/requirements-hash.txt"
DOCKER_COMPOSE_DIR="/Volume1/DockerYAML/mix"
@@ -11,9 +11,9 @@ echo "=== Deploy started at $(date) ===" >> "$LOG_FILE"
echo "Step 1: Git pull..." >> "$LOG_FILE"
docker exec git-cli sh -c "cd /git/octopus && git pull" >> "$LOG_FILE" 2>&1
# 2. Вычисляем общий хеш (requirements + docker config + docker compose)
# 2. Вычисляем общий хеш (requirements + docker config + docker-compose.yml)
echo "Step 2: Checking for structural changes..." >> "$LOG_FILE"
NEW_HASH=$(docker exec git-cli sh -c "cd /git/octopus && cat myproject/requirements.txt docker/* docker/docker compose.yml | md5sum" | awk '{print $1}')
NEW_HASH=$(docker exec git-cli sh -c "cd /git/octopus && cat myproject/requirements.txt docker/* docker/docker-compose.yml | md5sum" | awk '{print $1}')
OLD_HASH=""
if [ -f "$HASH_FILE" ]; then
@@ -29,9 +29,9 @@ rm -rf "$APP_ROOT/docker"
mkdir -p "$APP_ROOT/docker"
cp -r /Volume1/DockerAppsData/git/octopus/docker/. "$APP_ROOT/docker/" >> "$LOG_FILE" 2>&1
# 4. Обновляем docker compose.yml (Infrastructure as Code)
echo "Step 4: Updating docker compose.yml..." >> "$LOG_FILE"
cp /Volume1/DockerAppsData/git/octopus/docker/docker compose.yml "$DOCKER_COMPOSE_DIR/docker compose.yml" >> "$LOG_FILE" 2>&1
# 4. Обновляем docker-compose.yml (Infrastructure as Code)
echo "Step 4: Updating docker-compose.yml..." >> "$LOG_FILE"
cp /Volume1/DockerAppsData/git/octopus/docker/docker-compose.yml "$DOCKER_COMPOSE_DIR/docker-compose.yml" >> "$LOG_FILE" 2>&1
# 5. Устанавливаем права
echo "Step 5: Setting permissions..." >> "$LOG_FILE"
@@ -48,7 +48,7 @@ cd "$DOCKER_COMPOSE_DIR"
if [ "$NEW_HASH" != "$OLD_HASH" ]; then
echo "Step 6: Changes detected! Rebuilding ALL images..." >> "$LOG_FILE"
docker compose build >> "$LOG_FILE" 2>&1
docker-compose build >> "$LOG_FILE" 2>&1
echo "$NEW_HASH" > "$HASH_FILE"
echo "Images rebuilt successfully!" >> "$LOG_FILE"
else
@@ -57,8 +57,8 @@ fi
# 7. Полный перезапуск
echo "Step 7: Restarting ALL containers..." >> "$LOG_FILE"
docker compose down >> "$LOG_FILE" 2>&1
docker compose up -d >> "$LOG_FILE" 2>&1
docker-compose down >> "$LOG_FILE" 2>&1
docker-compose up -d >> "$LOG_FILE" 2>&1
# 8. Ждём запуска и исправляем права через docker exec (внутри контейнера от root)
echo "Step 8: Waiting for containers and fixing permissions..." >> "$LOG_FILE"
@@ -72,6 +72,6 @@ echo "Permissions fixed inside container" >> "$LOG_FILE"
# Проверка
echo "Step 9: Check status..." >> "$LOG_FILE"
docker compose ps >> "$LOG_FILE" 2>&1
docker-compose ps >> "$LOG_FILE" 2>&1
echo "=== Deploy finished at $(date) ===" >> "$LOG_FILE"