fix: apply Docker 24 network workaround and smoke tests to production deploy #64

Merged
jimmy merged 18 commits from dev into main 2026-05-17 23:34:02 +08:00
Showing only changes of commit 4bf646a4b3 - Show all commits
+26 -5
View File
@@ -214,7 +214,7 @@ jobs:
- name: Deploy dev
run: |
set -euo pipefail
set -u
export DOCKER_API_VERSION=1.43
cd /volume1/docker/nas-dashboard
@@ -228,11 +228,32 @@ jobs:
fi
# Deploy with compose (without --build since we already built the image)
docker compose -f docker-compose.dev.yml -p nas-dashboard-dev up -d --pull never
# Network connection during compose can transiently fail on Docker 24;
# we catch it and connect networks manually below.
docker compose -f docker-compose.dev.yml -p nas-dashboard-dev up -d --pull never || true
# Manually connect to networks after container is created
docker network connect nas-dashboard_internal nas-dashboard-dev || true
docker network connect gitea_gitea nas-dashboard-dev || true
# Verify the container exists before proceeding
if ! docker inspect nas-dashboard-dev >/dev/null 2>&1; then
echo "❌ Container was not created by compose"
exit 1
fi
# Manually connect to networks (idempotent, handles compose failure)
docker network connect nas-dashboard_internal nas-dashboard-dev 2>/dev/null || true
docker network connect gitea_gitea nas-dashboard-dev 2>/dev/null || true
# Verify both connections
echo "=== Network connections ==="
docker inspect nas-dashboard-dev --format '{{json .NetworkSettings.Networks}}' | python3 -c "
import json,sys
nets = json.load(sys.stdin)
for n in nets:
print(f' ✅ Connected to {n}')
if 'nas-dashboard_internal' not in nets or 'gitea_gitea' not in nets:
print('❌ Not connected to required networks')
sys.exit(1)
print('✅ All network connections established')
"
- name: Wait for container to be healthy
run: |