This commit is contained in:
Dongho Kim
2025-12-29 03:44:27 +09:00
parent 3885ddd977
commit f3f1a568e2
14 changed files with 380 additions and 100 deletions

View File

@@ -2,16 +2,17 @@ services:
scylla:
image: scylladb/scylla:latest
container_name: scylla
command: --smp 1 --memory 2G --overprovisioned 1 --api-address 0.0.0.0 --max-memory-for-unlimited-query-soft-limit 1073741824 --tombstone-warn-threshold 10000000
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
- scylla-data:/var/lib/scylla
networks:
- maps-net
redis:
image: redis:7-alpine
container_name: map-redis
command: redis-server --maxmemory 2gb --maxmemory-policy allkeys-lru
command: redis-server --maxmemory 5gb --maxmemory-policy allkeys-lru
volumes:
- redis_data:/data
networks:
@@ -23,16 +24,28 @@ services:
context: .
target: backend
container_name: map-app
ports:
- "3000:3000"
networks:
- proxy
- maps-net
environment:
- REDIS_URI=redis://map-redis:6379
depends_on:
- scylla
- redis
environment:
- REDIS_URI=redis://redis:6379
networks:
- maps-net
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:
@@ -42,23 +55,41 @@ services:
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
- DEBUG_WAY_ID=99
- VERBOSE_DEBUG=1
- 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
networks:
- maps-net
profiles:
- import
networks:
- maps-net
networks:
proxy:
external: true
maps-net:
driver: bridge
volumes:
scylla_data:
scylla-data:
driver: local
redis_data: