mirror of
https://github.com/Xe138/AI-Trader.git
synced 2026-04-02 09:37:23 -04:00
MCP services are completely internal to the container and accessed only via localhost. They should not be configurable or exposed. Changes: - Remove MATH_HTTP_PORT, SEARCH_HTTP_PORT, TRADE_HTTP_PORT, GETPRICE_HTTP_PORT from docker-compose.yml environment - Remove MCP service port mappings from docker-compose.yml - Remove MCP port configuration from .env.example - Update README.md to remove MCP port configuration - Update CLAUDE.md to clarify MCP services use fixed internal ports - Update CHANGELOG.md with these simplifications Technical details: - MCP services hardcode to ports 8000-8003 via os.getenv() defaults - Services only accessed via localhost URLs within container: - http://localhost:8000/mcp (math) - http://localhost:8001/mcp (search) - http://localhost:8002/mcp (trade) - http://localhost:8003/mcp (price) - No external access needed or desired for these services - Only API (8080) and web dashboard (8888) should be exposed Benefits: - Simpler configuration (4 fewer environment variables) - Reduced attack surface (4 fewer exposed ports) - Clearer architecture (internal vs external services) - Prevents accidental misconfiguration of internal services
35 lines
1.0 KiB
YAML
35 lines
1.0 KiB
YAML
services:
|
|
# REST API server for Windmill integration
|
|
ai-trader:
|
|
# image: ghcr.io/xe138/ai-trader:latest
|
|
# Uncomment to build locally instead of pulling:
|
|
build: .
|
|
container_name: ai-trader
|
|
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}
|
|
|
|
# Agent Configuration
|
|
- AGENT_MAX_STEP=${AGENT_MAX_STEP:-30}
|
|
ports:
|
|
# API server port (primary interface for external access)
|
|
- "${API_PORT:-8080}:8080"
|
|
# Web dashboard
|
|
- "${WEB_HTTP_PORT:-8888}:8888"
|
|
restart: unless-stopped # Keep API server running
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8080/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|