Files
sundynix-agentix/docker-compose.yml
T
Blizzard 755032c1d8 fix(infra): NATS 加 JetStream 数据卷 + Docker 项目归一到连字符
目录改名(下划线→连字符)导致 NATS(绑定宿主机文件)挂载路径烤死、退出127;
其余容器(命名卷)不受影响,造成 Docker 项目分裂。

- docker-compose: NATS 挂 nats_data:/data/jetstream,重启不丢任务流
- 运维: 拆除旧下划线项目(容器/网络/卷) + 残留空目录,全栈在 sundynix-agentix_default
  单网络/单项目重建;重新登记 DeepSeek(chat)/百炼(embedding) + 画像 + KB
- 验证: 7 容器同网络;记忆('老王')+RAG(retriever→Milvus) 端到端通;JetStream 落盘

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 09:30:10 +08:00

74 lines
2.1 KiB
YAML

version: "3.9"
# 基础设施 — NATS 零拷贝骨干网 + 业务存储 + 向量/图数据库
services:
nats:
image: nats:2-alpine
command: ["-c", "/etc/nats/nats-server.conf"]
ports: ["4222:4222", "8222:8222"]
volumes:
- ./deploy/nats/nats-server.conf:/etc/nats/nats-server.conf:ro
- nats_data:/data/jetstream # JetStream 持久化,重启不丢任务流
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: sundynix
POSTGRES_PASSWORD: sundynix
POSTGRES_DB: sundynix
ports: ["5432:5432"]
volumes: ["pg_data:/var/lib/postgresql/data"]
redis:
image: redis:7-alpine
ports: ["6379:6379"]
# --- Milvus 向量数据库 (standalone 需 etcd + minio) ---
milvus-etcd:
image: quay.io/coreos/etcd:v3.5.14
environment:
ETCD_AUTO_COMPACTION_MODE: revision
ETCD_AUTO_COMPACTION_RETENTION: "1000"
ETCD_QUOTA_BACKEND_BYTES: "4294967296"
ETCD_SNAPSHOT_COUNT: "50000"
command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
volumes: ["milvus_etcd:/etcd"]
milvus-minio:
image: minio/minio:RELEASE.2023-03-20T20-16-18Z
environment:
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
command: minio server /minio_data
volumes: ["milvus_minio:/minio_data"]
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
milvus:
image: milvusdb/milvus:v2.4.13
command: ["milvus", "run", "standalone"]
environment:
ETCD_ENDPOINTS: milvus-etcd:2379
MINIO_ADDRESS: milvus-minio:9000
ports: ["19530:19530", "9091:9091"] # 19530=gRPC, 9091=metrics/health
volumes: ["milvus_data:/var/lib/milvus"]
depends_on: [milvus-etcd, milvus-minio]
neo4j:
image: neo4j:5-community
environment:
NEO4J_AUTH: neo4j/sundynix
ports: ["7474:7474", "7687:7687"]
volumes: ["neo4j_data:/data"]
volumes:
nats_data:
pg_data:
milvus_etcd:
milvus_minio:
milvus_data:
neo4j_data: