chore: prod compose 同步 TLS/Caddy + gitea 域名(回流服务器本地改动)
CI / backend (push) Waiting to run
CI / frontend (push) Waiting to run

服务器 8-09 直接手改的 TLS/Caddy 改动从未提交 gitea,git-ify checkout
会覆盖丢失 HTTPS。回流 3 处差异:
- frontend 宿主端口 80:80 → 127.0.0.1:8080:80(8080 收紧)
- gitea 域名 123.207.9.209 → gitea.oncolit.gonsun.com
- 新增 caddy 服务(80/443 + Caddyfile 卷)+ caddy_data/caddy_config 卷
Caddyfile 加入仓库根;docs/16 记 v17 回流规则。
This commit is contained in:
34047007@qq.com
2026-08-10 07:11:08 +08:00
parent 41b83e3a64
commit 2b7e56b9b3
3 changed files with 39 additions and 9 deletions
+4 -2
View File
@@ -1,10 +1,11 @@
# 部署运维方案:生产工程化(一期 + 二期)
> **日期:** 2026-08-08v16 更新于 2026-08-10
> **版本:** v16.0(当前) **状态:** 一期 3 项已执行(磁盘/备份/TLS)+ 构建加速(Dockerfile 卫生)+ gitea TLS,其余待执行
> **日期:** 2026-08-08v17 更新于 2026-08-10
> **版本:** v17.0(当前) **状态:** 一期 3 项已执行(磁盘/备份/TLS)+ 构建加速(Dockerfile 卫生)+ gitea TLS,其余待执行
> **关联:** [docs/10-生产部署文档.md](10-生产部署文档.md)、[docs/11-20260717部署事故分析.md](11-20260717部署事故分析.md)、[docs/12-部署实际操作记录.md](12-部署实际操作记录.md)、[docs/17-生产数据迁移.md](17-生产数据迁移.md)24 迁移专项,2026-08-09
>
> **版本记录:**
> - **v17** — 2026-08-10:§7 补「服务器本地改动必须回流 gitea」环节(TLS/Caddy 改动从未提交,git-ify checkout 会丢 HTTPS——回流后服务器 git pull 才安全,与 §2 闭环)
> - **v16** — 2026-08-10:§3 补批量迁移执行序 + destructive ordering(批次 1 日期收窄须与发代码同窗口);§7 补 gitea TLS 落地;§6 补构建加速落地(腾讯 pip/npm 源 + BuildKit,详见记忆 docker_build_optimization
> - **v1** — 初稿(生产工程化框架,一期 + 二期)
> - **v2** — 吸收三档补强:破坏性迁移硬判定、backup.sh 上机查清、扩对盘、compose 范围澄清、挂卷后 logrotate、pre-deploy 快照留存、registry token 轮换、alembic head 采集、增强级
@@ -130,6 +131,7 @@
- **验证**`curl -k https://oncolit.gonsun.com` → 200 + 前端 HTML`/health` 经 Caddy→nginx→backend 返回 `db: ok`;证书 CN=oncolit.gonsun.com90 天自动续期
- **⚠️ frontend 宿主 8080 已收紧(2026-08-09**`8080:80`**`127.0.0.1:8080:80`**(只绑回环,公网无法直连绕过 Caddy;排障时本机 `curl 127.0.0.1:8080` 仍可用;Caddy 经 Docker 网络走 `frontend:80` 不受影响)。安全组仍建议只放行 80/443(禁 3000/2222 对公网),在腾讯云控制台配置
- **✅ gitea TLS 已落地(2026-08-09**DNS 已加 `gitea.oncolit.gonsun.com``123.207.9.209`Caddyfile gitea 子站块已启用(`gitea.oncolit.gonsun.com { reverse_proxy gitea:3000 }`),证书经 tls-alpn-01 自动签发;gitea `ROOT_URL`/`DOMAIN`/`SSH_DOMAIN` 已改 `https://gitea.oncolit.gonsun.com`。**⚠️ 本地 git remote 需同步改 https**`http://123.207.9.209:3000/scilit/backend``https://gitea.oncolit.gonsun.com/scilit/backend`SSH clone 地址变为 `gitea.oncolit.gonsun.com:2222`
- **⚠️ 服务器本地改动必须回流 giteav17 补,2026-08-10**TLS/Caddy 全链路改动(compose frontend→8080、caddy 服务+卷、Caddyfile、gitea 域名、`127.0.0.1:8080` 收紧)是 **2026-08-09 直接在服务器上手改的,从未提交到 gitea**(实测:服务器 `docker-compose.prod.yml` 与仓库版 diff 35 行,仓库版还是 `80:80` + `123.207.9.209` + 无 caddy 服务;`Caddyfile` 服务器 8-09 版也不在仓库根)。**后果**:服务器一旦 git-ify checkout 仓库版,这些改动被覆盖 → **HTTPS/Caddy/gitea 域名全丢**。**环节(v17 新增,与 §2"服务器 git pull"闭环)**:①把服务器 `docker-compose.prod.yml`TLS 版)取回本地覆盖仓库版、`Caddyfile` 加入仓库根 → 提交 `chore: prod compose 同步 TLS/Caddy + gitea 域名``git push`(gitea 成为权威,含 TLS);②服务器 git-ify`yum install git` + `git init -b main` + `remote add origin` + `git fetch && git checkout --force origin/main`(被跟踪文件覆盖为最新,未跟踪的 `.env`/`tmp_*.py` 保留)→ `docker compose config --quiet` 验证 caddy 服务仍在。**此后日常更新 = `git pull`,杜绝手工改与仓库不一致**(对齐 hotfix.sh 的"强制回流"纪律)
- **未做**registry 的 TLS(二期 §2——registry 走明文 HTTP,公网 IP 下 token 有嗅探面,须监听内网或加 TLS)。前端 nginx 容器内直接终止的路线①未采用
- **⚠️ 域名前提**Caddy 自动 HTTPS 要求域名 DNS 已解析到本机(oncolit.gonsun.com → 123.207.9.209 ✓)