# cx-postgres 与 cx-redis 都退出测试环境栈: # - profiles 门控让它们不随 docker compose up -d 启动。PG 数据卷保留, # 要临时拉回:docker compose --profile local-db up -d cx-postgres # (redis 同理 --profile local-redis) # - 业务服务的 depends_on 用 !override 清空(PG/Redis 在 CVM;MQ 已于 2026-08-10 退栈)—— # 不改的话基线对 cx-postgres/cx-redis 的 service_healthy 依赖会在每次 up # 时把它们拉起来 # - 移除旧拓扑的 3000->5432 端口发布(「本机=正式库、开发机 VPN 直连 3000」 # 时代的产物,见 docs/adr-single-db-topology.md(已过时);0.0.0.0 暴露 + # 出厂密码是安全隐患)。Windows 防火墙的 cx-pg-3000 放行规则可一并删除。 # # 启用方式:服务器 .env 设 COMPOSE_FILE=docker-compose.yml;docker-compose.testenv.yml # (Windows 下 compose 路径分隔符默认是分号)。交付基线 / 本地开发均不引用本文件。 # ⚠️ !override / !reset 需要 docker compose v2.24+。 services: cx-postgres: profiles: [local-db] # 测试环境 Redis 也在 CVM(cx-redis-customer1:16432),本机实例同样退栈 cx-redis: profiles: [local-redis] # 引擎库同样在 CVM(FLOW_DB_URL 由 CUSTOMER_DB_HOST/PORT 推导),本地无依赖 cx-flow-engine: depends_on: !reset {} # 2026-08-19:DS 编辑器端口。基线不发布任何 DS 端口,开发机靠 docker-compose.override.yml # 的 "127.0.0.1:20000:80"——但**测试环境不加载 override**(本文件顶部的 COMPOSE_FILE 只串 # docker-compose.yml + 本文件),所以那条对这里不生效,表现就是 `compose ps` 只见 # 80/tcp、443/tcp 而无宿主映射。 # # 🔴 与 override 的关键差异:这里**不能**绑 127.0.0.1。DS 的编辑器前端资源(api.js 及 # 其后续静态件)是由**测试人员自己电脑上的浏览器**直接加载的,不经网关也不经 cx-web; # 绑 127.0.0.1 就只有登到这台 server 上开浏览器才打得开。故按 0.0.0.0 发布,与基线 # 已经这么发布的 80 / 30000 一致(都是测试环境刻意对局域网开放的口)。 # # 配套:服务器 .env 必须设 ONLYOFFICE_DS_PUBLIC_URL=http://<本机局域网IP>:20000 # (浏览器视角的地址,默认值 http://localhost:20000 里的 localhost 指的是浏览器所在的 # 那台机器,在测试环境是错的)。另两个 DS 视角的键保持默认即可——DS 在栈内, # cx-gateway:30000 解析得到。 cx-onlyoffice: ports: - "20000:80" # 业务服务两件事(锚点复用): # ① 清空 depends_on:本地 cx-postgres / cx-redis 已退栈,namesrv 随 RocketMQ 一并移除; # ② 挂载 config/shared(与开发 override 同款「配置跟仓库走」形态)——不挂载的话 # 容器读的是构建镜像时烧入的旧配置,git pull 下来的 datasource.yaml 等对容器 # 不可见(2026-08-08 实踩:redis 坐标参数化后测试环境仍连 cx-redis,因旧镜像内 # yaml 无占位符)。挂载与基线的 jnpf-resources 卷按 target 合并,互不覆盖。 cx-gateway: &no-local-pg # 2026-08-10 事件总线切 Redis、RocketMQ 退栈后,本地数据面依赖归零(PG/Redis 在 CVM) depends_on: !override {} volumes: - ./config/shared:/config/shared:ro # 2026-08-11 平台聚合:cx-oauth / cx-system / cx-visualdev / cx-flowable / cx-file / # cx-message / cx-permission / cx-visualdata / cx-app 九个已合并为 cx-platform。 # 回滚时把下面注释的九行放回来(与 docker-compose.yml 的注释段一一对应)。 cx-platform: *no-local-pg # cx-oauth: *no-local-pg # cx-system: *no-local-pg # cx-visualdev: *no-local-pg # cx-flowable: *no-local-pg # cx-file: *no-local-pg # cx-message: *no-local-pg # cx-permission: *no-local-pg # cx-visualdata: *no-local-pg # cx-app: *no-local-pg cx-lims: *no-local-pg cx-eln: *no-local-pg cx-biz-common: *no-local-pg cx-dms: *no-local-pg cx-scheduletask: *no-local-pg