最终架构
这样做的目的:
- 不重复部署 PostgreSQL / Redis,降低备份和升级面。
- 避免「宿主机端口看起来通了、容器里却连不上」的绕行问题。
- 入口层(证书、域名、TLS)和业务层(应用、数据)职责分开。
- 后续扩容、换证书、换域名时不必动数据库。
推荐阅读顺序
部署手册
Compose 改造、外部 Postgres/Redis、环境变量、库初始化、首次启动与
/api/status。域名与 HTTPS
Cloudflare DNS、系统 Nginx 反代、certbot、以及为什么不走 1Panel 网站模块。
排障手册
Invalid key length、Redis 回环、80 端口归属、SITE_URL、SMTP 噪音。上线验收清单
可勾选的上线条目。容器
Up 不能单独当验收结论。