# Папка server/ монтируется в контейнеры, а не копируется в образ:
# образ ~200 МБ вместо 900 МБ, сборка нужна только при правке entrypoint.sh,
# обновление сервера = положить новые файлы и сделать restart.
services:
  db:
    image: mariadb:11.4
    environment:
      MARIADB_ROOT_PASSWORD: l2j
      MARIADB_DATABASE: l2jmobiusinterlude
    volumes:
      - l2db:/var/lib/mysql
    healthcheck:
      test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
      interval: 5s
      timeout: 5s
      retries: 20

  login:
    build:
      context: .
      dockerfile: Dockerfile
    image: l2-spp
    command: ["login"]
    environment:
      DB_HOST: db
      DB_PASS: l2j
    volumes:
      - ..:/opt/l2
    depends_on:
      db:
        condition: service_healthy
    ports:
      - "2106:2106"
    restart: unless-stopped

  game:
    image: l2-spp
    command: ["game"]
    environment:
      DB_HOST: db
      DB_PASS: l2j
      # Ollama на хосте (Windows). Если не запущена - боты говорят шаблонами.
      FAKE_LLM_URL: http://host.docker.internal:11434/api/generate
    volumes:
      - ..:/opt/l2
    depends_on:
      db:
        condition: service_healthy
      login:
        condition: service_started
    ports:
      - "7777:7777"
      - "7780:7780"
    restart: unless-stopped

volumes:
  l2db:
