容器 supervisor.conf 被 Press 覆盖
bench 容器内的 supervisor.conf 由 Press 自动生成和管理。手动追加的
[program:xxx]段在 Press 重建 bench 时会被覆盖消失。
1. 归属
| 问题 | 答案 |
|---|---|
| 属于哪个仓库? | frappe/press 的 bench 管理逻辑 |
| 在容器内路径? | /home/frappe/frappe-bench/config/supervisor.conf |
| 在构建链的哪一步? | Press Deploy 流程的 bench 创建/重建阶段 |
2. 为什么不能修正
Press 设计就是这样的——bench 容器内的进程由 Press 管理。Press 负责生成 supervisor.conf 确保正确的进程在运行(gunicorn、worker、scheduler 等)。你手动加的内容 Press 不知道,重建时自然覆盖。
3. 缓解措施
需要自定义常驻进程时,放宿主机用 systemd 托管,不走容器内 supervisor。例如:
- 邮件桥接 → 宿主机 systemd
cf-smtp-bridge.service - cloudflared → 宿主机 systemd
这意味着每个自定义 daemon 需要独立部署流程,不能依赖容器的 “一体式” 部署。