version: '3.8'

services:
  # Шаг 1: скачать и распарсить данные
  data-init:
    image: debian:bookworm-slim
    working_dir: /app
    volumes:
      - ../data:/data
      - ../scripts:/scripts
    command: >
      bash -c "
        apt-get update -qq &&
        apt-get install -y -qq osmium-tool wget python3 python3-pyosmium python3-shapely libsqlite3-mod-spatialite &&
        echo '==> Скачиваем ЦФО...' &&
        wget -q -c 'https://download.geofabrik.de/russia/central-fed-district-latest.osm.pbf' -O /data/centralfederal.ru-latest.osm.pbf &&
        echo '==> Скачиваем Поволжье (Чувашия)...' &&
        wget -q -c 'https://download.geofabrik.de/russia/volga-fed-district-latest.osm.pbf' -O /data/volga.osm.pbf &&
        echo '==> Объединяем...' &&
        osmium merge /data/centralfederal.ru-latest.osm.pbf /data/volga.osm.pbf -o /data/merged.osm.pbf --overwrite &&
        echo '==> Фильтруем по BBOX...' &&
        osmium extract --bbox=30.0,51.0,48.0,59.0 /data/merged.osm.pbf -o /data/region.osm.pbf --overwrite &&
        echo '==> Парсим в SQLite...' &&
        python3 /scripts/parse.py --pbf /data/region.osm.pbf --db /data/centralfederal.sqlite &&
        echo '==> Данные готовы!'
      "
    profiles:
      - init

  # Шаг 2: веб-сервер
  enduro-trails:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ${DATA_DIR:-../data}:/data
    ports:
      - "5558:5558"
    environment:
      - DATA_PATH=/data/centralfederal.sqlite
      - OSRM_URL=${OSRM_URL:-http://172.22.0.1:5559}
    restart: unless-stopped
