chore(deploy): 三机部署 compose 拆分 + NATS 3 节点集群

126=MinIO(已部署)、128=基础设施、132=应用。

- deploy/128-infra:NATS 3 节点集群(独立卷+cluster routes,暴露4222/4223/4224)+PG/Redis/
  Milvus(自带etcd+自带内部minio,不复用126)/Neo4j/Jaeger;端口对局域网暴露、卷持久化。
- deploy/nats-cluster/nats{1,2,3}.conf:max_payload 一致 + jetstream + cluster。
- deploy/132-app:仅 gateway(3000:8080)+dispatcher+mcp-go+mcp-py,无 admin nginx;env 指向
  126/128;mcp-go 补齐 MINIO env(本会话 blob 遗漏);NATS_STREAM_REPLICAS=3;.env.example 模板。
- docker-compose.prod.yml(单机):删 admin 服务(已内嵌)、mcp-go 补 MINIO env。
- 三个 compose 均 docker compose config 校验通过;.env 已 gitignore、.env.example 可提交。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Blizzard
2026-07-18 14:45:24 +08:00
parent 2e02a12260
commit 6b45adbbd2
8 changed files with 313 additions and 8 deletions
+26
View File
@@ -0,0 +1,26 @@
# 应用机 132 的密钥与凭据。cp .env.example .env 后填写(.env 不进 git)。
# 三个应用服务共享 SUNDYNIX_SECRET_KEY,必须完全一致(否则跨服务密文解不开)。
# —— 引导密钥(生成:openssl rand -base64 32)——
SUNDYNIX_SECRET_KEY=change-me-secret-32
JWT_SECRET=change-me-jwt-32
# —— 库密码(须与 128-infra/.env 一致)——
POSTGRES_PASSWORD=change-me-postgres
NEO4J_PASSWORD=change-me-neo4j
# —— 对象存储(126 上的 MinIO 凭据)——
MINIO_ACCESS_KEY=change-me-minio-access
MINIO_SECRET_KEY=change-me-minio-secret
MINIO_BUCKET=sundynix-docs
# —— 管理员白名单:首次注册后拿 user.id 填这里,重启 gateway 生效(逗号分隔多个)——
ADMIN_USER_IDS=
# —— CORSadmin 同源免;桌面端/web 从 3000 跨源直连需填实际 origin(frp 外网域名等),
# 生产(APP_ENV=production)下缺省不放行任意源。多个逗号分隔。——
CORS_ALLOW_ORIGIN=
# —— 可选调参 ——
DISPATCHER_CONCURRENCY=8
TASK_TOKEN_BUDGET=200000