chore: unify health check timers across compose and workflows
Some checks failed
Deploy to Staging / Build Images (push) Successful in 32s
Deploy to Staging / Deploy to Staging (push) Successful in 21s
Deploy to Staging / Verify Staging (push) Failing after 1m18s
Deploy to Staging / Notify Staging Ready (push) Has been skipped
Deploy to Staging / Notify Staging Failure (push) Successful in 7s

Docker Compose health checks (all services):
- interval: 5s (was 10-30s)
- timeout: 5s (unified)
- backend start_period: 60s (was 30-180s)

Gitea workflow health check loops:
- Docker healthcheck: 48 attempts x 5s = 4 min (was 24 x 10s)
- Backend health: 12 attempts x 5s = 60s (was 6 x 10s)
- External health: 12 attempts x 5s = 60s (was 6 x 10s)
- Initial waits: 5s (was 10-15s)

Same total wait times, faster detection of success/failure.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Eric Gullickson
2026-02-03 21:10:47 -06:00
parent 88db25019f
commit 26196d34ea
4 changed files with 60 additions and 59 deletions

View File

@@ -29,10 +29,10 @@ services:
backend:
healthcheck:
test: ["CMD", "traefik", "healthcheck"]
interval: 30s
timeout: 10s
interval: 5s
timeout: 5s
retries: 3
start_period: 20s
start_period: 10s
labels:
- "traefik.enable=true"
- "traefik.http.routers.traefik-dashboard.rule=Host(`traefik.motovaultpro.local`)"
@@ -76,10 +76,10 @@ services:
- mvp-backend
healthcheck:
test: ["CMD-SHELL", "curl -sf http://localhost:3000 || exit 1"]
interval: 30s
timeout: 10s
interval: 5s
timeout: 5s
retries: 3
start_period: 20s
start_period: 10s
labels:
- "traefik.enable=true"
- traefik.docker.network=motovaultpro_frontend
@@ -148,10 +148,10 @@ services:
test:
- CMD-SHELL
- node -e "require('http').get('http://localhost:3001/health', r => process.exit(r.statusCode===200?0:1)).on('error', () => process.exit(1))"
interval: 30s
timeout: 10s
interval: 5s
timeout: 5s
retries: 5
start_period: 180s
start_period: 60s
labels:
- "traefik.enable=true"
- "traefik.docker.network=motovaultpro_backend"
@@ -198,10 +198,10 @@ services:
- mvp-redis
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 30s
timeout: 10s
interval: 5s
timeout: 5s
retries: 3
start_period: 30s
start_period: 15s
logging:
driver: json-file
options:
@@ -230,10 +230,10 @@ services:
- "5432:5432" # Development access only
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
interval: 5s
timeout: 5s
retries: 5
start_period: 30s
start_period: 15s
logging:
driver: json-file
options:
@@ -254,9 +254,10 @@ services:
- "6379:6379" # Development access only
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
interval: 5s
timeout: 5s
retries: 5
start_period: 5s
logging:
driver: json-file
options: