services: mcp-server-demo: build: . image: mcp-server-demo:latest container_name: mcp-server-demo restart: unless-stopped ports: - "8001:8001" environment: # ============ 鉴权(mcp-auth 后端) ============ # 服务对外地址(OAuth 资源元数据) MCP_PUBLIC_URL: https://mcp-server-demo.digiwincloud.com.cn # 各模组独立的对外地址(未设置时回退 MCP_PUBLIC_URL) ERP_MCP_PUBLIC_URL: https://mcp-server-demo.digiwincloud.com.cn/erp/mcp CRM_MCP_PUBLIC_URL: https://mcp-server-demo.digiwincloud.com.cn/crm/mcp BEXELL_MCP_PUBLIC_URL: https://mcp-server-demo.digiwincloud.com.cn/bexell/mcp # mcp-auth 后端地址(token 校验走 POST {MCP_AUTH_API_URL}/api/auth/verify-token) MCP_AUTH_API_URL: https://mcp-auth-admin.digiwincloud.com.cn/mcp-auth-api # 各模组独立的 API Key(由 mcp-auth 后端签发) ERP_MCP_AUTH_API_KEY: jZXUVNEsae5Crvl6yZC-CjaLeEVZkZSXIOiMEf9hqxI CRM_MCP_AUTH_API_KEY: yjoL74806LfnUkex7XsaDq8GuvvT-OS8Ol4VvqZvLpM BEXELL_MCP_AUTH_API_KEY: MXPruJbXsdcFdbaw04BXjhx72RaMzn2mTnKN8sYZAQ4 # 通用 API Key(service 为空时回退使用) MCP_AUTH_API_KEY: bIEaNqOSZ96V8hvI_Vv8HaN0ljUtYElSFtUQAKm3bWQ # token 校验结果缓存秒数(默认 30) MCP_AUTH_CACHE_TTL: "30" # ============ ERP 模组数据库(PostgreSQL,生产 10.100.154.100) ============ ERP_DB_HOST: 10.100.154.100 ERP_DB_PORT: "5432" ERP_DB_USER: postgres ERP_DB_PASSWORD: digiwin ERP_DB_NAME: smart_quotation_auto # ============ CRM 模组数据库(PostgreSQL,生产 10.100.154.100) ============ CRM_DB_HOST: 10.100.154.100 CRM_DB_PORT: "5432" CRM_DB_USER: postgres CRM_DB_PASSWORD: digiwin CRM_DB_NAME: smart_quotation_auto # ============ Bexell 模组数据库(PostgreSQL,生产 10.100.154.100) ============ BEXELL_DB_HOST: 10.100.154.100 BEXELL_DB_PORT: "5432" BEXELL_DB_USER: postgres BEXELL_DB_PASSWORD: digiwin BEXELL_DB_NAME: bexell_schedule_ai healthcheck: test: ["CMD", "python", "-c", "import socket; s=socket.create_connection(('127.0.0.1', 8001), timeout=3); s.close()"] interval: 30s timeout: 5s retries: 3 start_period: 10s