version: "3.8"

services:
  worker-mock:
    build: .
    container_name: transcription-worker-mock
    environment:
      - MOCK_MODE=true
      - PROVIDER=aistudio
      - WORKER_ID=docker-mock-001
      - GPU_TYPE=mock-cpu
      - WORKER_BATCH_SIZE=1000
      - BATCH_INTERVAL_SECONDS=60
    command: ["--mock", "--worker-id", "docker-mock-001"]
    restart: "no"

  worker-aistudio:
    build: .
    container_name: transcription-worker-aistudio
    env_file: .env
    environment:
      - PROVIDER=aistudio
      - WORKER_ID=aistudio-worker-001
      - GPU_TYPE=${GPU_TYPE:-RTX4090}
    profiles:
      - production

  worker-openrouter:
    build: .
    container_name: transcription-worker-openrouter
    env_file: .env
    environment:
      - PROVIDER=openrouter
      - WORKER_ID=openrouter-worker-001
      - GPU_TYPE=${GPU_TYPE:-RTX4090}
    profiles:
      - production

  test:
    build: .
    container_name: transcription-tests
    environment:
      - MOCK_MODE=true
    command: ["python", "-m", "pytest", "tests/", "-v", "--tb=short"]
    entrypoint: []
    restart: "no"

  e2e-mock:
    build: .
    container_name: transcription-e2e-mock
    environment:
      - MOCK_MODE=true
    command: ["python", "-m", "tests.run_mock_e2e"]
    entrypoint: []
    restart: "no"
