feat(devops): self-hosted OSRM routing engine for site-finder (#39) #1929

Merged
bot-backend merged 1 commit from feat/39-osrm-routing into main 2026-06-26 19:18:22 +00:00

1 commit

Author SHA1 Message Date
26f9605c06 feat(devops): self-hosted OSRM routing engine for site-finder (#39)
All checks were successful
CI / changes (pull_request) Successful in 7s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
Stand up an internal-only OSRM container so /analyze can later use real
road/walking distances to POI instead of straight-line ST_Distance. Infra
only — the /analyze integration is a separate follow-up (A2/A3).

- docker-compose.prod.yml: osrm service (osrm/osrm-backend, --algorithm mld,
  mem_limit 1.5g, default network, no public port — backend reaches it at
  http://osrm:5000). TCP /dev/tcp healthcheck (image has no curl). backend does
  NOT depend_on osrm, so a crash-loop before the graph is built won't block deploy.
- scripts/build_osrm.sh: idempotent MLD build/refresh (extract→partition→customize,
  not contract). Defaults to Свердл-clip из Ural-FO via osmium (lighter RAM);
  CLIP=0 zero-clip and EKB_TIGHT=1 / WALK=1 options documented. Monthly-refresh note.
- docs/osrm-routing.md: region/pbf decision, RAM table, VPS run-commands, verify curl.
- .gitignore data/osrm/* (don't commit ~1.5GB build output); .gitkeep holds the dir.

Refs #39
2026-06-27 00:13:41 +05:00