chore: prod compose 同步 TLS/Caddy + gitea 域名(回流服务器本地改动)
服务器 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:
@@ -0,0 +1,7 @@
|
||||
oncolit.gonsun.com {
|
||||
reverse_proxy frontend:80
|
||||
}
|
||||
|
||||
gitea.oncolit.gonsun.com {
|
||||
reverse_proxy gitea:3000
|
||||
}
|
||||
+28
-7
@@ -246,7 +246,7 @@ services:
|
||||
environment:
|
||||
VITE_API_BASE: /api/v1
|
||||
ports:
|
||||
- "80:80"
|
||||
- "127.0.0.1:8080:80"
|
||||
volumes:
|
||||
- /var/log/scilit/nginx:/var/log/nginx
|
||||
depends_on:
|
||||
@@ -272,18 +272,39 @@ services:
|
||||
GITEA__database__NAME: gitea
|
||||
GITEA__database__USER: gitea
|
||||
GITEA__database__PASSWD: gitea_pass_2026
|
||||
GITEA__server__DOMAIN: 123.207.9.209
|
||||
GITEA__server__DOMAIN: gitea.oncolit.gonsun.com
|
||||
GITEA__server__HTTP_PORT: 3000
|
||||
GITEA__server__ROOT_URL: http://123.207.9.209:3000
|
||||
GITEA__server__START_SSH_SERVER: "true"
|
||||
GITEA__server__SSH_DOMAIN: 123.207.9.209
|
||||
GITEA__server__ROOT_URL: https://gitea.oncolit.gonsun.com/
|
||||
GITEA__server__START_SSH_SERVER: true
|
||||
GITEA__server__SSH_DOMAIN: gitea.oncolit.gonsun.com
|
||||
GITEA__server__SSH_PORT: 2222
|
||||
GITEA__server__SSH_LISTEN_PORT: 22
|
||||
ports:
|
||||
- "3000:3000"
|
||||
- "2222:22"
|
||||
- 3000:3000
|
||||
- 2222:22
|
||||
|
||||
|
||||
caddy:
|
||||
image: caddy:2-alpine
|
||||
networks:
|
||||
- scilit
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- ./Caddyfile:/etc/caddy/Caddyfile:ro
|
||||
- caddy_data:/data
|
||||
- caddy_config:/config
|
||||
restart: unless-stopped
|
||||
logging:
|
||||
driver: "json-file"
|
||||
options:
|
||||
max-size: "10m"
|
||||
max-file: "3"
|
||||
|
||||
volumes:
|
||||
caddy_data:
|
||||
caddy_config:
|
||||
pgdata:
|
||||
redisdata:
|
||||
esdata:
|
||||
|
||||
+4
-2
@@ -1,10 +1,11 @@
|
||||
# 部署运维方案:生产工程化(一期 + 二期)
|
||||
|
||||
> **日期:** 2026-08-08(v16 更新于 2026-08-10)
|
||||
> **版本:** v16.0(当前) **状态:** 一期 3 项已执行(磁盘/备份/TLS)+ 构建加速(Dockerfile 卫生)+ gitea TLS,其余待执行
|
||||
> **日期:** 2026-08-08(v17 更新于 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.com,90 天自动续期
|
||||
- **⚠️ 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`
|
||||
- **⚠️ 服务器本地改动必须回流 gitea(v17 补,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 ✓)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user