services:
  app:
    # Use 'lite' tag for a smaller image (~700MB vs ~4.4GB) without PyTorch
    # Semantic search in Inquire Mode falls back to text search; all other features work normally
    image: dictia:latest
    container_name: dictia
    restart: unless-stopped
    ports:
      - "8899:8899"

    # --- Configuration ---
    # Environment variables are loaded from the .env file.
    #
    # To get started:
    # 1. Copy this file to your project root:
    #    cp config/docker-compose.example.yml docker-compose.yml
    #
    # 2. Copy the unified transcription config (RECOMMENDED):
    #    cp config/env.transcription.example .env
    #
    #    This supports all providers with auto-detection:
    #    - OpenAI GPT-4o with diarization (set TRANSCRIPTION_MODEL=gpt-4o-transcribe-diarize)
    #    - Self-hosted ASR/WhisperX (set ASR_BASE_URL=http://your-asr:9000)
    #    - Legacy Whisper (set TRANSCRIPTION_MODEL=whisper-1)
    #
    #    Legacy config files (still supported):
    #    - config/env.whisper.example    - Standard Whisper API
    #    - config/env.whisperx.example   - WhisperX with voice profiles
    #    - config/env.asr.example        - Basic ASR with diarization
    #
    # 3. Edit the .env file to add your API keys:
    #    - TRANSCRIPTION_API_KEY (for OpenAI) or ASR_BASE_URL (for self-hosted)
    #    - TEXT_MODEL_API_KEY (REQUIRED for summaries, titles, and chat)
    #
    # 4. Start DictIA:
    #    docker compose up -d
    env_file:
      - .env
    
    environment:
      # Set log level for troubleshooting
      # Use ERROR for production (minimal logs)
      # Use INFO for debugging issues (recommended when troubleshooting)
      # Use DEBUG for detailed development logging
      - LOG_LEVEL=ERROR

    # --- Volume Configuration ---
    # Choose ONE of the following volume configurations.
    # Option 1 (Recommended): Bind mounts to local folders.
    volumes:
      - ./uploads:/data/uploads
      - ./instance:/data/instance
      # Optional: Uncomment if using auto-export feature (ENABLE_AUTO_EXPORT=true)
      # - ./exports:/data/exports
      # Optional: Uncomment if using auto-processing feature (ENABLE_AUTO_PROCESSING=true)
      # - ./auto-process:/data/auto-process

    # Option 2: Docker-managed volumes.
    # volumes:
    #   - dictia-uploads:/data/uploads
    #   - dictia-instance:/data/instance
    #   # Optional: Uncomment if using auto-export feature
    #   # - dictia-exports:/data/exports
    #   # Optional: Uncomment if using auto-processing feature
    #   # - dictia-auto-process:/data/auto-process
