version: '3.8' services: trading-agents: build: context: . dockerfile: Dockerfile container_name: orbiquant-trading-agents restart: unless-stopped environment: # Service - SERVICE_NAME=trading-agents - ENVIRONMENT=${ENVIRONMENT:-development} - LOG_LEVEL=${LOG_LEVEL:-INFO} # Database - DATABASE_URL=postgresql+asyncpg://${POSTGRES_USER:-orbiquant}:${POSTGRES_PASSWORD:-dev_password}@database:5432/${POSTGRES_DB:-orbiquant} # Binance API - BINANCE_API_KEY=${BINANCE_API_KEY:-} - BINANCE_API_SECRET=${BINANCE_API_SECRET:-} - BINANCE_TESTNET=${BINANCE_TESTNET:-true} # ML Engine - ML_ENGINE_URL=${ML_ENGINE_URL:-http://ml-engine:3083} - ML_ENGINE_API_KEY=${ML_ENGINE_API_KEY:-dev_ml_key} # Redis (for caching and pub/sub) - REDIS_URL=redis://redis:6379/0 # API - API_PORT=3086 - API_HOST=0.0.0.0 ports: - "3086:3086" volumes: - ./src:/app/src - ./config:/app/config - ./logs:/app/logs depends_on: - database - redis networks: - orbiquant-network healthcheck: test: ["CMD", "curl", "-f", "http://localhost:3086/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s # Redis for caching and messaging redis: image: redis:7-alpine container_name: orbiquant-redis restart: unless-stopped ports: - "6379:6379" volumes: - redis-data:/data networks: - orbiquant-network command: redis-server --appendonly yes networks: orbiquant-network: external: true volumes: redis-data: