Dawarich Atlas
A local-first, self-hostable maps stack. Built on OpenStreetMap data and FOSS components, designed to keep working with zero outbound API calls at runtime.
Atlas is the maps engine that powers Dawarich, packaged so it stands on its own — install it on hardware you control, plug your own clients into the API.
What's in the box
Dawarich Atlas is a single docker compose stack with six map engines wired together behind one HTTP API:
| Capability | Engine | Endpoint |
|---|---|---|
| Base map tiles | Protomaps PMTiles + MapLibre GL | /tiles/* (Caddy static) |
| Forward search & autocomplete | Photon | GET /api/v1/search |
| Reverse geocoding | Photon + Placeholder admin chain | GET /api/v1/reverse |
| Batch reverse geocoding | Cached + grid-snapped | POST /api/v1/reverse/batch |
| Routing (drive / cycle / walk) | Valhalla | GET /api/v1/route |
| POI lookup | Overpass | GET /api/v1/whats-here, GET /api/v1/pois |
| Transit | OpenTripPlanner 2 | GET /api/v1/transit |
| Combined geocode | Forward or reverse, one URL | GET /api/v1/geocode |
All responses share one envelope:
{ "data": "…", "meta": { "timestamp": "…", "upstream": "ok|unavailable|error" } }
Errors are uniform:
{ "error": { "code": "VALIDATION_ERROR | UPSTREAM_UNAVAILABLE | UPSTREAM_ERROR", "message": "…" } }
License
Dawarich Atlas is licensed under the GNU Affero General Public License v3.0 — the same license as Dawarich. See LICENSE for the full text.
Where to next
- Quickstart — three commands, a working map.
- Architecture — the diagram and what each layer does.
- Regions — pick city, country, continent, or planet.
- Compose profiles — turn data layers on and off without restarting the world.
- Public API reference — Redoc-rendered OpenAPI for
/api/v1/*. - Admin API reference — Redoc-rendered OpenAPI for the
/admin/*control plane.