services: ai-trader: image: ghcr.io/xe138/ai-trader:latest # Uncomment to build locally instead of pulling: # build: . container_name: ai-trader-app volumes: - ${VOLUME_PATH:-.}/data:/app/data - ${VOLUME_PATH:-.}/logs:/app/logs - ${VOLUME_PATH:-.}/configs:/app/configs 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: on-failure:3 # Restart max 3 times on failure, prevents endless loops