Skip to content

Runbooks

Public Summary

Runbooks define routine operational tasks and incident responses for production.

Internal Details

1. Service Health Check

  1. Verify containers: docker compose -f docker-compose.prod.yml ps
  2. Check API logs: docker compose -f docker-compose.prod.yml logs api --tail=200
  3. Check Nginx logs: docker compose -f docker-compose.prod.yml logs nginx --tail=200
  4. Validate DB health via compose health status.

2. SSL Renewal Failure

  1. Confirm certbot container is running.
  2. Inspect certbot logs for ACME or DNS issues.
  3. Confirm challenge path is reachable in Nginx.
  4. Re-run init-ssl.sh if bootstrap assets are missing.

3. OSRM Data Refresh

  1. Backup current map data folder.
  2. Run init-route-data.sh.
  3. Restart osrm service.
  4. Validate /route endpoint from application UI and API side.

4. Report Generation Incident

  1. Check API logs for report service errors.
  2. Verify data/report output path write permissions.
  3. Verify MongoDB availability and query performance.
  4. Retry with smaller date range or lower scope while investigating.

5. docs.obrok.net Validation

  1. Build docs from apps/docs folder (docs:build).
  2. Validate static output exists at apps/docs/.vitepress/dist.
  3. Confirm Nginx server_name docs.obrok.net serves static content and returns docs pages.
  4. Confirm HTTPS certificate issuance for docs domain.

Source Anchors

PathRelevance
docker-compose.prod.ymlProduction service topology
init-ssl.shSSL bootstrap script
init-route-data.shOSRM data preparation
apps/server/src/modules/report/report.service.jsReport generation logic

Student Obrok engineering documentation.