version: '3.8' services: open-nof1-ai: image: open-nof1.ai:latest container_name: open-nof1.ai-prod restart: always ports: - "${PORT:-3100}:3100" env_file: - .env.production environment: - NODE_ENV=production - TZ=Asia/Shanghai volumes: # 生产环境数据持久化 - ./voltagent-data:/app/.voltagent - ./logs:/app/logs networks: - trading-network healthcheck: test: ["CMD", "node", "-e", "require('http').get('http://localhost:3100/api/health', (r) => process.exit(r.statusCode === 200 ? 0 : 1))"] interval: 30s timeout: 10s retries: 5 start_period: 60s deploy: resources: limits: cpus: '2' memory: 200M reservations: cpus: '0.5' memory: 100M logging: driver: "json-file" options: max-size: "50m" max-file: "5" networks: trading-network: driver: bridge