# 腾讯云 CVM 专用:只起 jnpf PG(资源限死,寄住共享生产机 YOUR_DB_HOST)。 # 背景/割接见 docs/superpowers/plans/2026-07-20-tencent-cloud-pg-shared-db.md。 # 镜像 cx/postgres:18.4 由 build docker/postgres 产出(amd64,含 pg_bigm/pgvector)。 # 凭据经仓库根 .env 注入;端口 15432(5432/5433 已被 fastgpt-pg/homework-pg 占)。 # 🔴 项目名 jnpf-pg 与 service key 绝不能改:卷名 jnpf-pg_jnpf_pgdata 由项目名派生 # (下方 jnpf_pgdata 未显式 name:),改了新容器挂空卷、客户A数据"消失"。 name: jnpf-pg services: cx-postgres: # 2026-08-08 CVM 容器名规范化:带客户拼音(原 cx-postgres,与本机沙盒/交付基线同名易混淆)。 # 仅容器名改,service key / 项目名 / 卷不动。 container_name: cx-pg-customer1 image: cx/postgres:18.4 build: context: .. # tencent/ 上一级 = docker/postgres(含 Dockerfile) platform: linux/amd64 restart: unless-stopped shm_size: 512m mem_limit: 3g memswap_limit: 3g # 无 swap,禁止溢出到 swap environment: TZ: Asia/Shanghai POSTGRES_USER: postgres POSTGRES_PASSWORD: ${JNPF_PG_PASSWORD:?缺 JNPF_PG_PASSWORD,先在仓库根 .env 设} POSTGRES_INITDB_ARGS: "--locale=C.UTF-8 --encoding=UTF8" volumes: - jnpf_pgdata:/var/lib/postgresql ports: - "15432:5432" # 对公网(安全组只放 15432,靠强密码+非超户防护) command: - postgres - -c - shared_buffers=512MB - -c - shared_preload_libraries=pg_stat_statements,auto_explain - -c - pg_stat_statements.track=all - -c # 共享库:开发(本地~10服务)+测试(192.168.21.151~10服务)两环境 Druid 池叠加, # 稳态曾达 197/200 逼满(L029 共库放大)。单环境 9 服务先例=200 → 双环境提到 400。 # 400 连接内存 ~700-900MB,仍在 mem_limit 3g / CVM 可用内存内。 - max_connections=400 - -c - timezone=Asia/Shanghai healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres -d postgres"] interval: 15s timeout: 10s retries: 10 start_period: 60s volumes: jnpf_pgdata: