Runbooks
Public Summary
Runbooks define routine operational tasks and incident responses for production.
Internal Details
1. Service Health Check
- Verify containers: docker compose -f docker-compose.prod.yml ps
- Check API logs: docker compose -f docker-compose.prod.yml logs api --tail=200
- Check Nginx logs: docker compose -f docker-compose.prod.yml logs nginx --tail=200
- Validate DB health via compose health status.
2. SSL Renewal Failure
- Confirm certbot container is running.
- Inspect certbot logs for ACME or DNS issues.
- Confirm challenge path is reachable in Nginx.
- Re-run init-ssl.sh if bootstrap assets are missing.
3. OSRM Data Refresh
- Backup current map data folder.
- Run init-route-data.sh.
- Restart osrm service.
- Validate /route endpoint from application UI and API side.
4. Report Generation Incident
- Check API logs for report service errors.
- Verify data/report output path write permissions.
- Verify MongoDB availability and query performance.
- Retry with smaller date range or lower scope while investigating.
5. docs.obrok.net Validation
- Build docs from apps/docs folder (docs:build).
- Validate static output exists at apps/docs/.vitepress/dist.
- Confirm Nginx server_name docs.obrok.net serves static content and returns docs pages.
- Confirm HTTPS certificate issuance for docs domain.
Source Anchors
| Path | Relevance |
|---|---|
docker-compose.prod.yml | Production service topology |
init-ssl.sh | SSL bootstrap script |
init-route-data.sh | OSRM data preparation |
apps/server/src/modules/report/report.service.js | Report generation logic |