Die umgekehrte Geocodierung ist der Prozess der Umwandlung geografischer Koordinaten in eine vom Menschen lesbare Adresse. Standardmäßig ist die umgekehrte Geocodierung in Dawarich deaktiviert. Mit dieser Anleitung wird es möglich sein einen Reverse-Geocodierungsdienste selbst einzurichten. Die Daten liegen auf dem “eigenen” Server. Mehr dazu unter https://dawarich.app/docs/self-hosting/configuration/reverse-geocoding/
Ich nutze hier die selbst gehostet Version von Photon. Grundlage ist die Beschreibung von https://github.com/rtuszik/photon-docker . Zu beachten ist die Dateigröße. Die Photon-Indexdatei belegt ca 105GB bei der Auswahl “Planet” also Weltweit. Weitere Infos hierzu unter https://github.com/rtuszik/photon-docker?tab=readme-ov-file#available-regions . Die docker-compose ist zunächst einfach gehalten. Es gibt weitere Variablen die hier beschrieben sind. https://github.com/rtuszik/photon-docker?tab=readme-ov-file#configuration-options
0. Versionierung
| Datum | Änderung |
| 27.03.2026 | Erstellung der Anleitung |
1. Grundvorraussetzung
- Traefik-ab-v3-6-mit-crowdsec
- Ubuntu 24.04 LTS – “Noble”, Debian 12 LTS – “Bookworm” oder Debian 13 LTS – “Trixie”
- Docker version 27.xDocker Compose version v2.28.x
- Dawarich
root-Rechte auf dem Zielsystem
2. Ordner anlegen
Zuerst legen wir uns die passende Ordner-Struktur an.
mkdir -p /opt/containers/photon
3. Docker Compose anlegen
Nun legen wir die eigentliche Docker Datei an.
nano /opt/containers/photon/docker-compose.yml
services:
photon:
image: rtuszik/photon-docker:latest
environment:
- UPDATE_STRATEGY=PARALLEL #lädt den neuen Index im Hintergrund und tauscht dann mit minimalen Ausfallzeiten (erfordert 2x Speicherplatz).
- UPDATE_INTERVAL=720h #nach 30 Tagen erfolgt ein Update der Indexdaten
- REGION=europe #entpackt werden das ca. 60GB
volumes:
- ./photon_data:/photon/data #Achtung Speicherplatz beachten
restart: unless-stopped
ports:
- 2322:2322
volumes:
photon_data: null
Code-Sprache: PHP (php)
Hier ist die Region Europa ausgewählt. Möglich sind auch andere. Siehe https://github.com/rtuszik/photon-docker?tab=readme-ov-file#available-regions
4. DaWarIch anpassen
Noch anzupassen:
- Um dawarich mit der Photoninstanz zu verbinden, müssen die folgenden Umgebungsvariablen in Eurer dawarich docker-compose.yml festgelegt werden:
- innerhalb der Syntax von dawarich-app und dawarich_sidekiq muss unter environmemt folgendes ergänzt werden
PHOTON_API_HOST={PHOTON-IP}:{PORT}
PHOTON_API_USE_HTTPS=false
zum Beispiel
PHOTON_API_HOST=192.168.10.10:2322
PHOTON_API_USE_HTTPS=false #bleibt auf false weil die Photon Instanz nicht über HTTPS läuft Code-Sprache: PHP (php)
nano /opt/containers/dawarich/docker-compose.yml
.........
dawarich_app:
image: freikin/dawarich:latest
........
environment:
RAILS_ENV: development
REDIS_URL: redis://dawarich_redis:6379
DATABASE_HOST: dawarich_db
DATABASE_USERNAME: postgres
DATABASE_PASSWORD: password
DATABASE_NAME: dawarich_development
MIN_MINUTES_SPENT_IN_CITY: 60
APPLICATION_HOSTS: dawarich.euredomain.de
TIME_ZONE: Europe/Berlin
APPLICATION_PROTOCOL: http
PHOTON_API_HOST: 192.168.10.10:2322 #eure IP
PHOTON_API_USE_HTTPS: false
PROMETHEUS_EXPORTER_ENABLED: false
PROMETHEUS_EXPORTER_HOST: 0.0.0.0
PROMETHEUS_EXPORTER_PORT: 9394
SELF_HOSTED: "true"
STORE_GEODATA: "true"
.......
dawarich_sidekiq:
.......
environment:
RAILS_ENV: development
REDIS_URL: redis://dawarich_redis:6379
DATABASE_HOST: dawarich_db
DATABASE_USERNAME: postgres
DATABASE_PASSWORD: password
DATABASE_NAME: dawarich_development
APPLICATION_HOSTS: localhost
BACKGROUND_PROCESSING_CONCURRENCY: 10
APPLICATION_PROTOCOL: http
PHOTON_API_HOST: 192.168.10.10:2322 #eure IP
PHOTON_API_USE_HTTPS: false
PROMETHEUS_EXPORTER_ENABLED: false
PROMETHEUS_EXPORTER_HOST: dawarich_app
PROMETHEUS_EXPORTER_PORT: 9394
SELF_HOSTED: "true"
STORE_GEODATA: "true"
logging:
.......
restart: trueCode-Sprache: PHP (php)
Jetzt DaWarIch neu starten.
cd /opt/containers/dawarich
docker compose up -d --force-recreate
5. Docker Compose Photon starten
Den Container startet ihr wie gewohnt mit folgendem Befehl:
docker compose -f /opt/containers/photon/docker-compose.yml up -d
Ab jetzt heißt es warten. Der Download dauert und danach wird die Indexdatei entpackt. Nicht wundern wenn der Container “Unhealty” steht. Es hat bei mir ca. 45 Min gedauert.
6. Reverse Geocoding in DaWarIch beginnen.
Um die bereits erfassten Koordinaten zu verorten muss unter Einstellungen der Background Job “Start Reverse Geocoding” bzw. “Continue Reverse Geocoding” gestartet werden.

Das nimmt ebenfalls eine längere Zeit in Anspruch. Danach werden unter Statistics die Orte angezeigt.

Viel Spaß damit.
7. ⚠️ Warnung: Große Dateigrößen ⚠️
Der erste Download- und Extraktionsprozess kann eine beträchtliche Zeit in Anspruch nehmen. Abhängig von Eurer Hardware kann die Überprüfung der Prüfsumme und die Dekompression mehrere Stunden dauern.
Die Photon-Indexdatei ist ziemlich groß und wächst stetig. Seit Anfang 2025 werden rund 90 GB für den gesamten Index benötigt. Beachtet, dass dies im Laufe der Zeit wachsen wird.
Stellt sicher, dass Ihr genügend Speicherplatz zur Verfügung habt, bevor der Container ausgeführt wird.
