# ==================================================
# docker-compose.yml -- local testing (Podman or Docker)
# ==================================================
services:
  marker-api:
    build:
      context: .
      dockerfile: Containerfile
    image: marker-api:latest
    env_file:
      - .env          # optional; remove if no .env exists
    environment:
      - OLLAMA_HOST=${OLLAMA_HOST:-http://10.0.1.127:11434}
      - DEESEEK_OCR_MODEL=${DEESEEK_OCR_MODEL:-deepseek-ocr}
      - AMD_COMPUTE=${AMD_COMPUTE:-false}
      - TORCH_DEVICE=${TORCH_DEVICE:-}
      - MODEL_DTYPE=${MODEL_DTYPE:-float32}
      - PORT=8000
      - HOST=0.0.0.0
      - GUNICORN_WORKERS=${GUNICORN_WORKERS:-2}
      - GUNICORN_THREADS=${GUNICORN_THREADS:-4}
      - GUNICORN_TIMEOUT=${GUNICORN_TIMEOUT:-300}
    ports:
      - "8000:8000"
    volumes:
      - /dev/kfd:/dev/kfd
      - /dev/dri:/dev/dri
      - marker-data:/app/conversion_results
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 120s

volumes:
  marker-data:
