services:
  app:
    image: learnedmachine/speakr:latest
    container_name: speakr
    restart: unless-stopped
    ports:
      - "8899:8899"
    
    # --- Configuration ---
    # Environment variables are loaded from the .env file.
    #
    # To get started:
    # 1. Choose your desired transcription method.
    # 2. Copy the corresponding example file to .env:
    #
    #    For standard Whisper API:
    #    cp config/env.whisper.example .env
    #
    #    For a custom ASR endpoint:
    #    cp config/env.asr.example .env
    #
    # 3. Edit the .env file to add your API keys and settings.
    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

    # Option 2: Docker-managed volumes.
    # volumes:
    #   - speakr-uploads:/data/uploads
    #   - speakr-instance:/data/instance
