services: # 交易系统Web应用 (MySQL版) trading-web: build: . container_name: trading-ai-web-mysql ports: - "8080:8080" volumes: # 配置文件 - ./config:/app/config # 日志文件 - ./logs:/app/logs environment: - FLASK_ENV=production - PYTHONPATH=/app - TZ=Asia/Shanghai - OPERATION_KEY=${OPERATION_KEY:-9257} # MySQL连接配置 (可通过环境变量覆盖) - MYSQL_HOST=${MYSQL_HOST:-cd-cynosdbmysql-grp-7kdd8qe4.sql.tencentcdb.com} - MYSQL_PORT=${MYSQL_PORT:-26558} - MYSQL_USER=${MYSQL_USER:-root} - MYSQL_PASSWORD=${MYSQL_PASSWORD:-gUjjmQpu6c7V0hMF} - MYSQL_DATABASE=${MYSQL_DATABASE:-tradingai} restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/api/stats"] interval: 30s timeout: 10s retries: 3 start_period: 40s # 市场扫描定时任务服务 trading-market-scanner: build: . container_name: trading-ai-market-scanner volumes: - ./config:/app/config - ./logs:/app/logs - ./crontab:/app/crontab environment: - PYTHONPATH=/app - TZ=Asia/Shanghai - OPERATION_KEY=${OPERATION_KEY:-9257} - LOG_LEVEL=${LOG_LEVEL:-INFO} # - MARKET_SCAN_STOCKS=${MARKET_SCAN_STOCKS:-200} # 已移除数量限制 # MySQL连接配置 - MYSQL_HOST=${MYSQL_HOST:-cd-cynosdbmysql-grp-7kdd8qe4.sql.tencentcdb.com} - MYSQL_PORT=${MYSQL_PORT:-26558} - MYSQL_USER=${MYSQL_USER:-root} - MYSQL_PASSWORD=${MYSQL_PASSWORD:-gUjjmQpu6c7V0hMF} - MYSQL_DATABASE=${MYSQL_DATABASE:-tradingai} # 运行定时市场扫描 command: ["bash", "/app/start_market_scanner.sh"] restart: unless-stopped depends_on: - trading-web # 加密货币扫描定时任务服务 trading-crypto-scanner: build: . container_name: trading-ai-crypto-scanner volumes: - ./config:/app/config - ./logs:/app/logs - ./crontab:/app/crontab environment: - PYTHONPATH=/app - TZ=Asia/Shanghai - OPERATION_KEY=${OPERATION_KEY:-9257} - LOG_LEVEL=${LOG_LEVEL:-INFO} # MySQL连接配置 - MYSQL_HOST=${MYSQL_HOST:-cd-cynosdbmysql-grp-7kdd8qe4.sql.tencentcdb.com} - MYSQL_PORT=${MYSQL_PORT:-26558} - MYSQL_USER=${MYSQL_USER:-root} - MYSQL_PASSWORD=${MYSQL_PASSWORD:-gUjjmQpu6c7V0hMF} - MYSQL_DATABASE=${MYSQL_DATABASE:-tradingai} # 运行定时加密货币扫描 command: ["bash", "/app/start_crypto_scanner.sh"] restart: unless-stopped depends_on: - trading-web # # Nginx反向代理(可选) # nginx: # image: nginx:alpine # container_name: trading-ai-nginx # ports: # - "80:80" # - "443:443" # volumes: # - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro # - ./nginx/ssl:/etc/nginx/ssl:ro # depends_on: # - trading-web # restart: unless-stopped # networks: # - trading-network # networks: # trading-network: # driver: bridge # volumes: # trading-data: # driver: local