maps/backend/docker-compose.yml
2026-03-30 15:25:37 +02:00

127 lines
2.6 KiB
YAML

networks:
maps-net:
driver: bridge
services:
backend:
build: .
networks:
- maps-net
ports:
- "8080:8080"
environment:
HOST: "0.0.0.0"
PORT: "8080"
MARTIN_URL: "http://martin:3001"
PHOTON_URL: "http://photon:2322"
OSRM_DRIVING_URL: "http://osrm-driving:5000"
OSRM_WALKING_URL: "http://osrm-walking:5000"
OSRM_CYCLING_URL: "http://osrm-cycling:5000"
DATABASE_URL: "postgres://maps:maps@postgres:5432/maps"
REDIS_URL: "redis://redis:6379"
OFFLINE_DATA_DIR: "/data/offline"
depends_on:
- postgres
- redis
- martin
- photon
- osrm-driving
- osrm-walking
- osrm-cycling
postgres:
build:
context: .
dockerfile: postgis.Dockerfile
networks:
- maps-net
ports:
- "5432:5432"
environment:
POSTGRES_USER: maps
POSTGRES_PASSWORD: maps
POSTGRES_DB: maps
volumes:
- maps-pgdata:/var/lib/postgresql/data
- ./initdb:/docker-entrypoint-initdb.d
redis:
image: docker.io/redis:7-alpine
networks:
- maps-net
ports:
- "6379:6379"
command: redis-server --maxmemory 2gb --maxmemory-policy allkeys-lru
martin:
image: ghcr.io/maplibre/martin
networks:
- maps-net
ports:
- "3001:3001"
environment:
DATABASE_URL: "postgres://maps:maps@postgres:5432/maps"
command: ["--listen-addresses", "0.0.0.0:3001"]
depends_on:
- postgres
photon:
image: ghcr.io/komoot/photon:latest
networks:
- maps-net
ports:
- "2322:2322"
osrm-driving:
build:
context: .
dockerfile: osrm-arm64.Dockerfile
networks:
- maps-net
ports:
- "5000:5000"
volumes:
- ../data/osrm/car:/data
command: osrm-routed --algorithm mld /data/region.osrm
osrm-walking:
build:
context: .
dockerfile: osrm-arm64.Dockerfile
networks:
- maps-net
ports:
- "5001:5000"
volumes:
- ../data/osrm/foot:/data
command: osrm-routed --algorithm mld /data/region.osrm
osrm-cycling:
build:
context: .
dockerfile: osrm-arm64.Dockerfile
networks:
- maps-net
ports:
- "5002:5000"
volumes:
- ../data/osrm/bicycle:/data
command: osrm-routed --algorithm mld /data/region.osrm
importer:
build:
context: .
dockerfile: importer.Dockerfile
networks:
- maps-net
volumes:
- ../data:/data
environment:
PG_CONN: "postgres://maps:maps@postgres:5432/maps"
PBF_FILE: "/data/osm/region.osm.pbf"
depends_on:
- postgres
restart: "no"
volumes:
maps-pgdata: