services: backend: build: . ports: - "8080:8080" environment: HOST: "0.0.0.0" PORT: "8080" MARTIN_URL: "http://martin:3000" 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: image: docker.io/postgis/postgis:16-3.4 ports: - "5432:5432" environment: POSTGRES_USER: maps POSTGRES_PASSWORD: maps POSTGRES_DB: maps volumes: - pgdata:/var/lib/postgresql/data redis: image: docker.io/redis:7-alpine ports: - "6379:6379" command: redis-server --maxmemory 2gb --maxmemory-policy allkeys-lru martin: image: ghcr.io/maplibre/martin ports: - "3000:3000" environment: DATABASE_URL: "postgres://maps:maps@postgres:5432/maps" depends_on: - postgres photon: image: docker.io/komoot/photon:latest ports: - "2322:2322" osrm-driving: image: docker.io/osrm/osrm-backend:latest ports: - "5000:5000" osrm-walking: image: docker.io/osrm/osrm-backend:latest ports: - "5001:5000" osrm-cycling: image: docker.io/osrm/osrm-backend:latest ports: - "5002:5000" volumes: pgdata: