79 lines
3.4 KiB
YAML
79 lines
3.4 KiB
YAML
# 汽车零部件智能报价 — 两个 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}
|
||
restart: unless-stopped
|