Skip to main content
Self-hosted maps stack · v0.1

Self-hosted maps.

Dawarich Atlas is a small docker-compose stack: Photon for search, Valhalla for routing, Overpass for POIs, OpenTripPlanner for transit, and MapLibre + PMTiles for the basemap, all behind one HTTP API. Runs on your own hardware.

OSM dataOffline-capableSingle compose fileOpenAPI 3.0

What’s inside

Eight pieces behind one HTTP API.

These are the same engines Komoot, Stadia Maps and the OSM Foundation already run in production. Atlas packages them behind a single docker-compose stack. Pick a region to see what each layer costs in RAM, disk, and first-boot time. RAM figures are sized for production-grade query latency; less works fine for personal use, just slower. Basemap is streamed from a remote PMTiles URL by default — hosting the file locally adds its size to disk.

Basemap
MapLibre + PMTiles (remote)
<100 MB
0 GB
instant
Search
Photon + libpostal
~8 GB
~8 GB
~10 min
Reverse
Photon + Placeholder
~4 GB
~3 GB
~1.5 hr WOF build
Batch reverse
Solid Cache (grid-snapped)
shared
<10 MB
instant
Routing
Valhalla
~4 GB
~15 GB
30–50 min
POIs
Overpass
~8 GB
~40 GB
2–4 hr ingest
Transit
OpenTripPlanner 2
~8 GB
5–10 GB
10 min – 2 hr
Admin / API
Rails + Turbo Streams
~512 MB
<100 MB
instant
Germany-scale total~32 GB recommended · ~73 GB disk · critical path is Overpass ingest (~3 hr)

Setup

One command, then the admin panel.

Initial boot is a single docker compose. After that, regions and services are managed from a built-in admin panel — clicks, not commands. A small Go sidecar handles the Docker calls behind it. Berlin scale (~30 MB PBF) is ready in minutes; country takes hours; planet takes days on first boot.

Step 01

Bring up the stack

One-shot: seed .env with a region preset, then launch Caddy + Dawarich Atlas on :8484. Map loads immediately.

cp regions/berlin.env .env
docker compose up -d
Step 02

Pick your services

Open localhost:8484, click the Settings tab. Toggle Search / Routing / POIs / Transit. The panel previews disk + ETA before kicking off downloads.

Settings ▸ Services ▸ toggle ▸ Save & apply
Step 03

Switch regions live

Same panel. Pick Berlin, Germany, Europe, planet, or any multi-region preset. Dawarich Atlas re-downloads OSM extracts in the background while the map stays up.

Settings ▸ Region ▸ pick a preset ▸ Save & apply

Dependencies and license.

Dawarich Atlas wires together Photon, Valhalla, Overpass, OpenTripPlanner, MapLibre and PMTiles into a single HTTP API. Upstream components ship under permissive licenses (BSD / MIT / Apache). Atlas itself is AGPL-3.0.