services:
  ai-trader:
    image: ghcr.io/xe138/ai-trader:latest
    # Uncomment to build locally instead of pulling:
    # build: .
    container_name: ai-trader-app
    volumes:
      - ./data:/app/data
      - ./logs:/app/logs
    environment:
      # AI Model API Configuration
      - OPENAI_API_BASE=${OPENAI_API_BASE}
      - OPENAI_API_KEY=${OPENAI_API_KEY}

      # Data Source Configuration
      - ALPHAADVANTAGE_API_KEY=${ALPHAADVANTAGE_API_KEY}
      - JINA_API_KEY=${JINA_API_KEY}

      # System Configuration
      - RUNTIME_ENV_PATH=/app/data/runtime_env.json

      # MCP Service Ports (fixed internally)
      - MATH_HTTP_PORT=8000
      - SEARCH_HTTP_PORT=8001
      - TRADE_HTTP_PORT=8002
      - GETPRICE_HTTP_PORT=8003

      # Agent Configuration
      - AGENT_MAX_STEP=${AGENT_MAX_STEP:-30}
    ports:
      # Format: "HOST:CONTAINER" - container ports are fixed, host ports configurable via .env
      - "${MATH_HTTP_PORT:-8000}:8000"
      - "${SEARCH_HTTP_PORT:-8001}:8001"
      - "${TRADE_HTTP_PORT:-8002}:8002"
      - "${GETPRICE_HTTP_PORT:-8003}:8003"
      - "${WEB_HTTP_PORT:-8888}:8888"
    restart: unless-stopped
