首页 / Docker 自托管

Docker 自托管

拓扑

服务镜像端口(宿主)说明
consoleGHCR 不可变 digest(见 下载与校验)127.0.0.1:48500→4730主控制台 + 多用户 API + cchain + RAG 编排
postgrespgvector/pgvector(manifest digest 钉死)不发布mu 库(pgvector 扩展),数据卷 pgdata
bge-m3GHCR sidecar digest不发布RAG 嵌入服务(可选)
webhook-ingressnode:22-alpine + webhook-proxy.js127.0.0.1:48590→8080webhook-only 入口:仅放行 webhook 与 health
compose 全部服务 restart: unless-stopped;仅 console 与 webhook-ingress 发布端口且默认绑定回环; postgres/sidecar 仅内部网络可达。

卷与数据

备份/恢复 = 备份/恢复 pgdata 卷或定期 pg_dump(见 升级与回滚)。

webhook 入口(对外)

GitHub App 的 webhook URL 应指向你的公网入口(TLS 反代)→ 转发到 127.0.0.1:48590(webhook-ingress),路径 /api/mu/github/webhook。该入口只放行 webhook 与 health 两个路径, 其余一律 404——管理面(48500)不要直接暴露公网。

cchain 信任链(可选)

三项配置齐全后 cchain=READY,任一缺失即 BLOCKED(fail-closed,控制台如实显示):

健康与巡检

docker compose --env-file .env ps
curl -s http://127.0.0.1:48500/api/health | jq
node preflight.mjs --live

/api/health 的 version 字段是运行版本的唯一真源。