外观
部署
面向把系统跑到真实环境的操作员。
部署形态总览
| 形态 | 适用 | 文档 |
|---|---|---|
| 控制面整栈(docker compose:三个后端服务 + PostgreSQL + Redis + nginx + Cap) | 现役生产 | 控制面部署 |
| 节点 agent(宿主原生 venv + systemd) | 真实 DN42 节点 | 节点 Agent 部署 |
| 本地源码运行 | 开发调试 | 快速上手 |
前端不在本仓库。 控制台、对等门户、首页在独立的前端仓库里,经 Cloudflare 独立托管,只经 CORS 加 Bearer 调用本仓库的 API;本栈唯一自带的前端产物是与 auth-server 同源的 OAuth 授权页,见控制面部署。
「去 compose」的准确含义:节点 runtime 的路由容器不用 docker-compose——agent 直连 Docker Engine API 创建。
deploy/docker/的 compose 只编排控制面后端,里面没有 node-agent:agent 在真实节点上跑宿主原生 venv 加 systemd。
拓扑
对外链路:Cloudflare → 源站 nginx(TLS 终止 80/443)→ 内网各服务。后端端口不对公网发布。
registry-server 刻意不对外发布:它是容器网内的姊妹服务,全部端点只有一道 service token 闸,而 POST /registry/v1/sync 是一次可跑数分钟的全量重写。要发布得先补限速与来源收窄。
发布顺序
三个后端服务必须一起发布——它们经共享的 registry 客户端互相调用,也共用同一套 schema 契约。节点 agent 与控制面之间有锁步约束,见 锁步契约。