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 03e4c44434 - Show all commits
+12 -10
View File
@@ -235,18 +235,20 @@ jobs:
docker network create nas-dashboard_internal docker network create nas-dashboard_internal
fi fi
# Deploy with compose (without --build since we already built the image) # Create compose override that strips networks (Docker 24 compose
# Network connection during compose can transiently fail on Docker 24; # fails to create the container when it can't connect networks).
# we catch it and connect networks manually below. # We connect networks manually after container creation.
docker compose -f docker-compose.dev.yml -p nas-dashboard-dev up -d --pull never || true cat > /tmp/docker-compose.ci-override.yml << YAMLEOF
services:
dashboard-dev:
networks: []
networks: {}
YAMLEOF
# Verify the container exists before proceeding # Deploy without networks in compose
if ! docker inspect nas-dashboard-dev >/dev/null 2>&1; then docker compose -f docker-compose.dev.yml -f /tmp/docker-compose.ci-override.yml -p nas-dashboard-dev up -d --pull never
echo "❌ Container was not created by compose"
exit 1
fi
# Manually connect to networks (idempotent, handles compose failure) # Manually connect to networks after container is created
docker network connect nas-dashboard_internal nas-dashboard-dev 2>/dev/null || true 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 docker network connect gitea_gitea nas-dashboard-dev 2>/dev/null || true