services: scylla: image: scylladb/scylla:latest container_name: scylla command: --smp 4 --memory 16G --overprovisioned 0 --api-address 0.0.0.0 --max-memory-for-unlimited-query-hard-limit 4294967296 volumes: - scylla-data:/var/lib/scylla networks: - maps-net redis: image: redis:7-alpine container_name: map-redis command: redis-server --maxmemory 5gb --maxmemory-policy allkeys-lru volumes: - redis_data:/data networks: - maps-net restart: always app: build: context: . target: backend container_name: map-app networks: - proxy - maps-net environment: - REDIS_URI=redis://map-redis:6379 depends_on: - scylla restart: always labels: - traefik.enable=true - traefik.docker.network=proxy - traefik.http.routers.maps.entrypoints=http - traefik.http.routers.maps.rule=Host(`maps.ekstrah.com`) - traefik.http.middlewares.maps-redirect.redirectscheme.permanent=true - traefik.http.middlewares.maps-redirect.redirectscheme.scheme=https - traefik.http.routers.maps.middlewares=maps-redirect - traefik.http.routers.maps-secure.entrypoints=https - traefik.http.routers.maps-secure.rule=Host(`maps.ekstrah.com`) - traefik.http.routers.maps-secure.tls=true - traefik.http.routers.maps-secure.tls.certresolver=cloudflare - traefik.http.routers.maps-secure.service=maps-secure-service - traefik.http.services.maps-secure-service.loadbalancer.server.port=3000 importer: build: context: . target: importer container_name: map-importer volumes: - ${HOST_PBF_PATH:-./europe-latest.osm.pbf}:/app/data.osm.pbf - ${HOST_CACHE_DIR:-./cache}:/cache deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: - gpu - compute - utility environment: - SCYLLA_URI=scylla:9042 - OSM_PBF_PATH=/app/data.osm.pbf - CACHE_DIR=/cache - VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json - NVIDIA_VISIBLE_DEVICES=all - NVIDIA_DRIVER_CAPABILITIES=compute,utility,graphics # - DEBUG_WAY_ID=99 # Logs detailed info for specific way # - VERBOSE_DEBUG=1 # Logs transit line relations # - DEBUG_MESH=1 # Logs mesh generation and vertex buffer info depends_on: - scylla profiles: - import networks: - maps-net networks: proxy: external: true maps-net: driver: bridge volumes: scylla-data: driver: local redis_data: