部署指南 / Deployment
官方托管 拓扑(无 VPS)
决策见 ADR-0018。项目方不买生产 VPS、不托管用户生产数据;公开表面用 GitHub + Cloudflare 免费档。
文档站 ──► Cloudflare Pages(erdonline-docs) [主]
└─► GitHub Pages(/erdonline/) [回退]
静态 demo ─► Cloudflare Pages(erdonline-demo)
env-config.js ← Variables: DEMO_API_URL
└─► 指向 Railway 公网后端(ADR-0019)
官方 demo API ─► Railway(App + MySQL 8 插件 + Redis 插件)
镜像:ghcr.io/erdonline/erdonline-backend:latest
备选(CN):Zeabur,同镜像思路
运行时镜像 ─► GHCR
ghcr.io/erdonline/erdonline-backend
ghcr.io/erdonline/erdonline-frontend
自托管数据面 ─► 用户自己的 docker compose(MySQL/Redis + 上列镜像)
← 用户生产仍走这条;Railway 只服务官方试用
| 表面 | 工作流 | 所需配置 |
|---|---|---|
| 文档 | .github/workflows/docs-site.yml(Jobs: deploy-github-pages / deploy-cloudflare) | 见下清单;无 CF 门闸时仅 GH Pages |
| 静态 demo | .github/workflows/frontend-demo-site.yml | 同上 + 可选 Variable DEMO_API_URL |
| 发版镜像 | .github/workflows/release.yml(tag v*,job ghcr) | GITHUB_TOKEN + packages:write(通常无需额外 Secret) |