feat(T06): deployment config - Dockerfiles, docker-compose, Coolify guide, env example
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# Health Check Configuration — ERP Nutzfahrzeuge
|
||||
|
||||
---
|
||||
|
||||
## Health Endpoint
|
||||
|
||||
**URL:** `GET /api/v1/health`
|
||||
|
||||
**Expected response:**
|
||||
- HTTP Status: `200 OK`
|
||||
- Body: `{"status":"ok"}`
|
||||
|
||||
**No authentication required.**
|
||||
|
||||
---
|
||||
|
||||
## Coolify Health Check
|
||||
|
||||
Configure in Coolify resource settings:
|
||||
|
||||
| Setting | Value |
|
||||
|---------|-------|
|
||||
| Health check path | `/api/v1/health` |
|
||||
| Health check port | `8000` |
|
||||
| Health check interval | `30s` (recommended) |
|
||||
| Health check timeout | `5s` (recommended) |
|
||||
| Health check retries | `3` (recommended) |
|
||||
|
||||
---
|
||||
|
||||
## Additional Monitoring Endpoints
|
||||
|
||||
| Endpoint | Method | Auth | Purpose |
|
||||
|----------|--------|------|---------|
|
||||
| `/` | GET | No | Root info — returns app name, version, docs URL |
|
||||
| `/openapi.json` | GET | No | OpenAPI schema — useful for API monitoring |
|
||||
| `/docs` | GET | No | Swagger UI (disable in production via `APP_ENV=production` if needed) |
|
||||
|
||||
---
|
||||
|
||||
## Docker Compose Health Check
|
||||
|
||||
If using Docker Compose, add to the backend service:
|
||||
|
||||
```yaml
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8000/api/v1/health"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 10s
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
| Symptom | Likely Cause | Action |
|
||||
|---------|-------------|--------|
|
||||
| Health check returns 502 | Backend not started or crashed | Check container logs, verify `DATABASE_URL` is reachable |
|
||||
| Health check returns 503 | App startup in progress | Increase `start_period` in health check config |
|
||||
| Health check times out | Network/firewall issue | Verify port mapping and firewall rules |
|
||||
| Health check returns 500 | Internal error (DB connection, config) | Check application logs for traceback |
|
||||
Reference in New Issue
Block a user