# Geo-Dienste (OSRM + Nominatim) auf Österreich-OSM-Extrakt. # Zusammen mit der Basis verwenden: # docker compose -f docker-compose.yml -f docker-compose.geo.yml up -d osrm nominatim # # WICHTIG: Vor dem ersten Start das OSRM-Preprocessing laufen lassen # (scripts/prepare-osm-data.sh bzw. `make -C infra/geo data`) und den # Nominatim-Import einplanen (Stunden, mehrere GB RAM/Disk). services: osrm: build: context: . dockerfile: docker/osrm/Dockerfile command: osrm-routed --algorithm mld /data/austria-latest.osrm volumes: - osrm-data:/data networks: - geo-internal expose: - "5000" healthcheck: # /table mit zwei nahen NÖ-Punkten; erwartet HTTP 200. test: - CMD-SHELL - >- wget -q -O - 'http://localhost:5000/table/v1/driving/15.6229,48.2079;16.3738,48.2082?sources=0' | grep -q '"code":"Ok"' interval: 30s timeout: 5s retries: 5 start_period: 60s restart: unless-stopped nominatim: image: mediagis/nominatim:4.4 environment: # Österreich-Extrakt (Geofabrik). Beim Erststart wird importiert. PBF_URL: https://download.geofabrik.de/europe/austria-latest.osm.pbf REPLICATION_URL: https://download.geofabrik.de/europe/austria-updates/ IMPORT_STYLE: address NOMINATIM_PASSWORD: nominatim volumes: - nominatim-data:/var/lib/postgresql/14/main shm_size: 1g networks: - geo-internal expose: - "8080" healthcheck: test: - CMD-SHELL - "wget -q -O - 'http://localhost:8080/status' | grep -q OK" interval: 30s timeout: 5s retries: 5 start_period: 120s restart: unless-stopped volumes: osrm-data: nominatim-data: networks: # Internes Netz: Geo-Dienste sind nur für die App erreichbar, nicht öffentlich. geo-internal: internal: true