25 lines
1.5 KiB
Markdown
25 lines
1.5 KiB
Markdown
# Phase 2 基础设施
|
||
|
||
本目录只保存不含秘密的部署模板:
|
||
|
||
- `caddy/Caddyfile`:测试机 IP 的内部 CA HTTPS、Web/API 反向代理。
|
||
- `systemd/kaotings-api.service`:FastAPI 自动重启服务。
|
||
- `systemd/kaotings-web.service`:Next.js 自动重启服务。
|
||
- `systemd/kaotings-cms.service`:Payload CMS 独立内容服务。
|
||
- Phase 2 发布包必须保留仓库目录结构;Web 使用发布根目录,API 使用其中的 `services/api`,虚拟环境单独放在 `/home/flym/kaotings-api-venv`。
|
||
|
||
数据库账号密码、`CSRF_SECRET` 和 Caddy 私有 CA 不进入 Git。服务器上的 `/etc/kaotings/api.env` 必须由 root 拥有且权限为 `0600`。
|
||
|
||
Phase 2 测试入口:
|
||
|
||
- HTTPS:`https://192.168.199.22/`
|
||
- API:通过同源 `https://192.168.199.22/api/v1/*`
|
||
- API 回环端口:`127.0.0.1:8000`,不对局域网开放
|
||
- Web 回环端口:`127.0.0.1:3000`,不对局域网开放
|
||
- CMS 回环端口:`127.0.0.1:3001`,通过 `https://192.168.199.22/cms/` 受控访问
|
||
- PostgreSQL:`127.0.0.1:5432`,不对局域网开放
|
||
|
||
CMS 使用独立 PostgreSQL 数据库和账号 `/etc/kaotings/cms.env`,不读取业务 API 用户表。CMS 管理员首个账户通过 Payload 管理入口受控建立,之后关闭匿名创建;不与业务用户表共享。
|
||
|
||
Caddy `tls internal` 生成的根证书需要在测试浏览器/设备中导入后,HTTPS 才会显示为受信任。根证书可以从服务器的 Caddy 数据目录受控导出;私钥不得导出或提交。
|