services: web: build: context: . dockerfile: Dockerfile image: taibu-web:latest container_name: taibu-web restart: unless-stopped env_file: - .env ports: - "${WEB_PORT:-3000}:3000" worker: build: context: . dockerfile: Dockerfile image: taibu-web:latest restart: unless-stopped env_file: - .env command: [node, .agent/worker.mjs] healthcheck: test: [CMD, node, .agent/worker.mjs, --health] interval: 30s timeout: 10s start_period: 30s retries: 3 mcp: build: context: . dockerfile: packages/mcp-server/Dockerfile image: taibu-mcp:latest container_name: taibu-mcp restart: unless-stopped env_file: - .env environment: PORT: "3001" MCP_HOST: "0.0.0.0" MCP_ALLOWED_ORIGINS: "${MCP_ALLOWED_ORIGINS:-}" MCP_ALLOWED_HOSTS: "${MCP_ALLOWED_HOSTS:-}" MCP_MAX_SUBSCRIPTIONS: "${MCP_MAX_SUBSCRIPTIONS:-1000}" MCP_MAX_SUBSCRIPTIONS_PER_IP: "${MCP_MAX_SUBSCRIPTIONS_PER_IP:-3}" MCP_RATE_LIMIT_PER_MINUTE: "${MCP_RATE_LIMIT_PER_MINUTE:-120}" MCP_TRUST_PROXY: "${MCP_TRUST_PROXY:-false}" MCP_REQUEST_LOG: "${MCP_REQUEST_LOG:-false}" ports: - "${MCP_PORT:-3001}:3001"