Files
kefu_cloud/docker-compose.dev.yml
T
yml2213 10d2e2ed3d feat(server): WebSocket 广播支持 Redis Pub/Sub 跨节点扇出(REDIS_ADDR 可选开关)
- 新增 ws.EventBus 接口与 RedisBus 实现;Hub 五类广播改为发布信封、各节点订阅后本地投递
- 单实例不设 REDIS_ADDR 保持进程内直投;Redis 不可用时自动兜底本地投递
- config 新增 REDIS_ADDR/REDIS_PASSWORD/REDIS_DB;dev compose 增加 --profile redis (6380)
- prod compose 与 .env.prod.example 增加多副本配置说明;README 更新已知边界
- 已用双实例 + 真实 Redis 实测跨节点推送;新增总线单测(含发布失败兜底),-race 通过
2026-09-05 14:39:56 +08:00

61 lines
1.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
services:
postgres:
image: postgres:16-alpine
container_name: kefu-cloud-db
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: kefu_cloud
ports:
- "5433:5432"
volumes:
- pgdata:/var/lib/postgresql/data
minio:
image: minio/minio:latest
container_name: kefu-cloud-minio
command: server /data --console-address ":9001"
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: minioadmin
# 避开本机其它 MinIO(如 hfb-minio 占用 9000/9001)
ports:
- "9100:9000"
- "9101:9001"
volumes:
- miniodata:/data
# 一次性初始化:创建 bucket 并开放公共下载(跑完即退出,Exited 0 属正常)
# 注意:容器网络内仍访问 minio:9000(服务端口),宿主机映射为 9100
minio-init:
image: minio/mc:latest
container_name: kefu-cloud-minio-init
depends_on:
- minio
restart: "no"
entrypoint: >
/bin/sh -c "
sleep 3;
mc alias set local http://minio:9000 minioadmin minioadmin;
mc mb -p local/kefu || true;
mc anonymous set download local/kefu;
echo 'MinIO bucket kefu ready';
"
# 可选:跨节点 WebSocket 广播总线(多 API 副本联调时启用)
# docker compose -f docker-compose.dev.yml --profile redis up -d
# 后端再设置 REDIS_ADDR=localhost:6380
redis:
image: redis:7-alpine
container_name: kefu-cloud-redis
profiles: ["redis"]
ports:
- "6380:6379"
volumes:
- redisdata:/data
volumes:
pgdata:
miniodata:
redisdata: