-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
48 lines (46 loc) · 1.78 KB
/
docker-compose.yml
File metadata and controls
48 lines (46 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# AppGenesisForge — 本地开发编排
#
# 当前仅编排 Postgres(按 ADR-000 决策);首个 feature 启动时由 backend-dev 按需扩展
# (backend / redis / minio 等),遵循下方"端口偏移"约定支持 Multi-instance Worker Pool。
#
# 端口偏移约定(按 ADR-001 + workflow.md §Multi-instance Worker Pool):
# - 默认(pool=off / 单实例):使用 base port(如 Postgres 5432)
# - Pool 模式:执行层实例(如 qa-engineer-N)启动前设置 POOL_INSTANCE=N,
# 所有 service 端口 = base + N×100
# - 示例:qa-engineer-2 启动时 export POOL_INSTANCE=2 →
# POSTGRES_PORT=5632 / BACKEND_PORT=8200 / FRONTEND_PORT=3200 ...
#
# 多 service 扩展时保持以下模板(${SERVICE_PORT:-default} 形式):
# ports:
# - "${BACKEND_PORT:-8000}:8000"
# - "${FRONTEND_PORT:-3000}:3000"
# - "${REDIS_PORT:-6379}:6379"
services:
postgres:
image: postgres:16-alpine
container_name: agf-postgres-${POOL_INSTANCE:-0}
environment:
POSTGRES_USER: ${POSTGRES_USER:-agf}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-agf}
POSTGRES_DB: ${POSTGRES_DB:-agf}
ports:
- "${POSTGRES_PORT:-5432}:5432"
volumes:
- postgres-data-${POOL_INSTANCE:-0}:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready", "-U", "${POSTGRES_USER:-agf}"]
interval: 5s
timeout: 3s
retries: 10
volumes:
postgres-data-0:
postgres-data-1:
postgres-data-2:
postgres-data-3:
postgres-data-4:
postgres-data-5:
postgres-data-6:
postgres-data-7:
# 实例 0 = 单实例默认 / 实例 1-7 = pool 模式各 instance 数据隔离
# team-roles.md "Pool 上限" 列规定上限 5(按 cost-budget 分档可到 7),
# 此处预留 8 个 volume(0-7)覆盖最高分档场景