# 汽车零部件智能报价 — 两个 MCP 服务 + 鉴权管理后台 编排 # 生产环境:docker compose up -d # 默认连生产库 192.168.1.206:5432,对外 192.168.1.119:8001/8002/8000 # 8000 = mcp-auth-admin 管理后台(FastAPI + React) # 开发环境:本机直接 python server.py(不入容器) # source .env.dev 后到 mcp-for-{erp,crm}/src 执行 python server.py # 连开发库 47.101.220.40:5432,对外 localhost:8001/8002/8000 # 也可用 docker 跑开发:docker compose --env-file .env.dev up -d # 停止:docker compose down # 日志:docker compose logs -f # 网络模式 host:容器直接共享宿主网络栈,绕开 Docker 桥接 FORWARD 链, # 便于局域网其他机器直接访问(无需 ports 映射) services: mcp-for-erp: build: context: . dockerfile: Dockerfile args: SERVICE: mcp-for-erp image: mcp-for-erp:latest container_name: mcp-for-erp network_mode: host environment: - ERP_DB_HOST=${ERP_DB_HOST:-192.168.1.206} - ERP_DB_PORT=${ERP_DB_PORT:-5432} - ERP_DB_USER=${ERP_DB_USER:-postgres} - ERP_DB_PASSWORD=${ERP_DB_PASSWORD:-digiwin} - ERP_DB_NAME=${ERP_DB_NAME:-smart_quotation_auto} # 对外地址(用于 OAuth 资源元数据),按实际部署机 IP 调整 - MCP_PUBLIC_URL=${MCP_PUBLIC_URL_ERP:-http://192.168.1.119:8001} # 鉴权(调用 mcp-auth 后端 API 校验,不直连鉴权库) # per-service API Key:由 mcp-auth 后端签发,各服务独立 - MCP_AUTH_API_URL=${MCP_AUTH_API_URL:-http://192.168.1.119:8000} - MCP_AUTH_API_KEY=${ERP_MCP_AUTH_API_KEY:-change-me-erp-key} restart: unless-stopped mcp-for-crm: build: context: . dockerfile: Dockerfile args: SERVICE: mcp-for-crm image: mcp-for-crm:latest container_name: mcp-for-crm network_mode: host environment: - CRM_DB_HOST=${CRM_DB_HOST:-192.168.1.206} - CRM_DB_PORT=${CRM_DB_PORT:-5432} - CRM_DB_USER=${CRM_DB_USER:-postgres} - CRM_DB_PASSWORD=${CRM_DB_PASSWORD:-digiwin} - CRM_DB_NAME=${CRM_DB_NAME:-smart_quotation_auto} # 对外地址(用于 OAuth 资源元数据),按实际部署机 IP 调整 - MCP_PUBLIC_URL=${MCP_PUBLIC_URL_CRM:-http://192.168.1.119:8002} # 鉴权(调用 mcp-auth 后端 API 校验,不直连鉴权库) # per-service API Key:由 mcp-auth 后端签发,各服务独立 - MCP_AUTH_API_URL=${MCP_AUTH_API_URL:-http://192.168.1.119:8000} - MCP_AUTH_API_KEY=${CRM_MCP_AUTH_API_KEY:-change-me-crm-key} restart: unless-stopped # MCP Auth Admin — Bearer Token 动态鉴权管理后台(FastAPI + React) mcp-auth-admin: build: context: ./mcp-auth dockerfile: Dockerfile image: mcp-auth-admin:latest container_name: mcp-auth-admin network_mode: host environment: - AUTH_DB_HOST=${AUTH_DB_HOST:-192.168.1.206} - AUTH_DB_PORT=${AUTH_DB_PORT:-5432} - AUTH_DB_USER=${AUTH_DB_USER:-postgres} - AUTH_DB_PASSWORD=${AUTH_DB_PASSWORD:-digiwin} - AUTH_DB_NAME=${AUTH_DB_NAME:-mcp_auth} # 鼎捷云 IAM 鉴权配置 - IAM_BASE_URL=${IAM_BASE_URL:-https://iam.digiwincloud.com.cn} - IAM_APP_TOKEN=${IAM_APP_TOKEN:-eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6ImRhdGEtYnVzaW5lc3MtZGVtbyIsInNpZCI6MH0.Spo64LstbWxjYNefVFAbEbgfjzZoQGNcqKSGuYUOCRk} - IAM_CACHE_TTL=${IAM_CACHE_TTL:-30} # Redis 缓存配置 - REDIS_HOST=${REDIS_HOST:-127.0.0.1} - REDIS_PORT=${REDIS_PORT:-6379} - REDIS_DB=${REDIS_DB:-0} - REDIS_PASSWORD=${REDIS_PASSWORD:-digiwin} restart: unless-stopped