A geocoding key for self-hosted Dawarich
Dawarich turns your location history into a private map of everywhere you've been. To label those places with real addresses and detect visits, it reverse-geocodes your points through Photon.
The catch for self-hosters: a full planet Photon needs about 95 GB of SSD and, per Photon's own docs, 64 GB of RAM for smooth operation. That's a lot of hardware for a personal timeline. ChibiGeo runs a planet Photon for you — you point Dawarich at it with two environment variables, at a flat monthly rate with no overage.
Dawarich Cloud users don't need this. Geocoding is already included. This guide is only for people running Dawarich on their own hardware.
Get a key
The Self-Hoster plan (€9.99/mo) is built for supported self-hosted apps like Dawarich — enough headroom to geocode years of history and keep tracking. Create a key at app.chibigeo.com.
Configuration
Add these to your Dawarich .env (or the environment: block of your
docker-compose.yml):
PHOTON_API_HOST=app.chibigeo.com/v1/photon
PHOTON_API_KEY=ck_your_key_here
PHOTON_API_USE_HTTPS=true
| Variable | Value | Why |
|---|---|---|
PHOTON_API_HOST | app.chibigeo.com/v1/photon | The host including the /v1/photon path prefix — Dawarich's geocoder interpolates it verbatim onto /api and /reverse |
PHOTON_API_KEY | your ck_… key | Sent as X-Api-Key; authenticates every geocode request |
PHOTON_API_USE_HTTPS | true | ChibiGeo is HTTPS-only |
Restart your Dawarich containers to pick up the new environment.
Verifying it works
From the host, confirm the endpoint answers with your key:
# Forward geocode
curl -H "X-Api-Key: ck_your_key_here" \
"https://app.chibigeo.com/v1/photon/api?q=Brandenburg%20Gate&limit=1"
# Reverse geocode (the shape Dawarich's visit detection uses)
curl -H "X-Api-Key: ck_your_key_here" \
"https://app.chibigeo.com/v1/photon/reverse?lat=52.516&lon=13.377&limit=10&radius=1"
Both should return a GeoJSON FeatureCollection with populated properties
(name, city, country). In Dawarich, trigger reverse-geocoding for a point or run
a visit-detection pass — places should now come back with names instead of
blanks.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Places stay unnamed | Wrong host path or key | Confirm PHOTON_API_HOST includes /v1/photon; re-check the key |
| Silent geocode skips | Monthly cap reached (429), rescued by Dawarich's fetcher | Watch usage in your ChibiGeo dashboard; raise the plan if needed |
401 in logs | Key missing or revoked | Ensure PHOTON_API_KEY is set and current |
Notes for the privacy-minded
ChibiGeo is EU-hosted and treats your coordinates as transient query data, not a stored profile. If you want to keep even the geocoding fully in your own hands, self-hosting Photon is always an option — this is the convenience path, not a lock-in. See what it takes to self-host Photon for the honest hardware numbers.