Disable health checks for Swarm overlay compatibility
Summary
Disable health checks in Docker Compose for Swarm deployments.
Problem
Health checks using localhost fail in Docker Swarm overlay network due to network namespace isolation. When running in Swarm with overlay network, wget localhost:3000 inside the container returns "Connection refused" even though the app binds to 0.0.0.0:3000 and is accessible externally.
This causes the start-first rolling update to fail - new containers start successfully but fail health checks, triggering a rollback to the previous version.
Solution
Disable health checks temporarily using healthcheck: disable: true.
A proper solution would involve using container IP or service discovery, but this requires more investigation.
Test plan
- Verified new deployment fails with health checks enabled
- Deploy with health checks disabled
- Verify rolling update completes successfully