Docker Compose 编排
项目提供多种编排模板,统一放在仓库 docker-compose/ 目录。
| 模板 | 数据库 | 适用场景 |
|---|---|---|
docker-compose/docker-compose.external-db.yml + env.1panel | 外部库(PostgreSQL 18 / MySQL 8.4 / MariaDB 12) | 1Panel 部署、已有数据库实例 |
docker-compose/docker-compose.yml.template | MySQL 8.4 LTS | 生产环境、中大规模部署 |
docker-compose/docker-compose-sqlite.yml.template | SQLite | 个人使用、测试、轻量部署 |
docker-compose/docker-compose.caddy-allinone.yml | 任意 | 单容器版(Caddy + GoPanel) |
docker-compose/docker-compose.nginx-allinone.yml | 任意 | 单容器版(Nginx + GoPanel) |
快速开始
bash
cd docker-compose
cp docker-compose.yml.template docker-compose.yml # 1. 选择模板
vim docker-compose.yml # 2. 按需修改配置
docker compose up -d # 3. 启动
# 4. 访问 http://localhost:12396 完成安装向导单体与前后端分离
- 单体(推荐):后端镜像
backend,前端已嵌入,只需一个服务 - 前后端分离:
frontend(Nginx 静态服务 +/api反向代理)+backend, 适合前端单独 CDN 加速或独立扩容
部署自检与排障
若出现「前端能打开但接口请求不到数据」「后端容器没有任何日志」,按下面顺序自检:
bash
# 一键自检(后端直连 + 前端代理 + 容器状态 + 日志输出)
sh scripts/check-deploy.sh
sh scripts/check-deploy.sh --logs # 额外打印后端最近日志手工验证请求链路:
bash
# 1. 直连后端(跳过前端代理):能通说明后端与端口正常
curl -i http://127.0.0.1:12395/api/auth/entry
# 2. 经前端代理:验证 nginx 的 /api 反代是否指向正确的后端
curl -i http://127.0.0.1:12396/api/auth/entry
# 3. 查看后端日志(含启动自检与逐请求访问日志)
docker logs -f gopanel-backend