7th November 2025 — Lightweight Health Checks for Faster Deployments #77
build 355 — Refs: #77 — commits e8d39f5, db59d5e, eeab577
Resolved Fly.io deployment timeouts by separating lightweight health checks from detailed system status, and increased grace period for MongoDB initialization.
Where to Find It
- API:
/api/health— fast endpoint for deployment health checks - API:
/api/system-status— detailed status with database queries - Deployment: Fly.io health check configuration
Benefits
- Faster Deployments: Health checks now return immediately instead of taking 15-17 seconds
- Reliable Health Checks: No timeout errors during MongoDB initialization or migration execution
- Proper Startup Time: 60-second grace period allows MongoDB connection and migration checks to complete
- Detailed Status Available: Separate endpoint maintains comprehensive system status with DB queries
Technical Details
Health Endpoint Changes:
- Remove database query from /api/health endpoint
- Health checks were exceeding Fly.io's 5-second timeout during startup
- MongoDB queries during migration execution caused 15-17 second delays
- Detailed system status with DB queries remains at /api/system-status
Fly.io Configuration:
- Increase grace_period from 5s to 60s (allows MongoDB connection + migration checks)
- Increase timeout from 2s to 5s (provides buffer for database queries)
- Server initialization takes ~50 seconds total
Additional Fixes:
- Swallow memberAudit duplicate insert errors to prevent crash (commit 7fb72f9)
- Catch save() rejection in auditMemberLogin when legacy unique index exists
- Prevent unique index recreation on member-auth-audit model
- Stop embedding Member schema to avoid propagating unique index