平台部署
准备工作
| 项目 | 要求 |
|---|---|
| 操作系统 | Linux(推荐 Ubuntu 22.04+)/ macOS |
| Docker | Docker Engine 24+ 和 Docker Compose V2 |
| 硬件 | ≥ 2 核 CPU / 4 GB 内存 / 40 GB 磁盘 |
| 网络 | 开放 80、443 端口,域名(可选,用于 HTTPS) |
⚠️
平台镜像为私有镜像,部署前需要获取授权凭据。请联系我们获取访问权限。
快速部署
登录镜像仓库
docker login registry.pandatest.net初始化部署目录
mkdir -p pandatest && cd pandatest下载发布包后,目录结构如下:
pandatest/
├── docker-compose.prod.yml
├── .env # 环境配置(需手动创建)
└── deploy/
├── manifests/
│ └── release-1.1.3.json # 版本清单
└── scripts/
├── server-doctor.sh # 部署预检查
├── server-install.sh # 安装
├── server-upgrade.sh # 升级
└── server-rollback.sh # 回滚配置环境变量
创建 .env 文件,填入以下内容:
# ===== 必填 =====
SECRET_KEY=your-random-secret-key-here
ALLOWED_HOSTS=your-domain.com,localhost
FRONTEND_URL=https://your-domain.com
CORS_ALLOWED_ORIGINS=https://your-domain.com
# ===== 数据库 & 存储 =====
DB_PASSWORD=your-strong-db-password
MINIO_ROOT_PASSWORD=your-strong-minio-password
# ===== 初始管理员(仅首次部署) =====
CREATE_ADMIN=True
ADMIN_USERNAME=admin
ADMIN_EMAIL=admin@your-domain.com
ADMIN_PASSWORD=your-admin-password⚠️
请务必将 SECRET_KEY、DB_PASSWORD、MINIO_ROOT_PASSWORD、ADMIN_PASSWORD 替换为强随机密码。
预检查 & 安装
# 检查环境是否就绪
bash deploy/scripts/server-doctor.sh --version 1.1.3
# 执行安装
bash deploy/scripts/server-install.sh --version 1.1.3验证
# 确认所有容器正常运行
docker compose -f docker-compose.prod.yml ps
# 查看后端启动日志
docker compose -f docker-compose.prod.yml logs -f backend首次启动时,后端会自动完成数据库迁移和管理员账号创建。浏览器访问 http://your-domain.com 即可使用。
升级 & 回滚
# 升级到新版本
bash deploy/scripts/server-doctor.sh --version 1.1.3
bash deploy/scripts/server-upgrade.sh --version 1.1.3
# 回滚到上一版本
bash deploy/scripts/server-rollback.sh --version 1.1.2HTTPS 配置
sudo apt install certbot
sudo certbot certonly --standalone -d your-domain.com
docker compose -f docker-compose.prod.yml restart frontend证书会自动挂载到前端容器,到期前 certbot 自动续期。
数据备份
# 备份数据库
docker exec pandatest-postgres pg_dump -U postgres pandatest > backup_$(date +%Y%m%d).sql
# 恢复数据库
cat backup.sql | docker exec -i pandatest-postgres psql -U postgres pandatest对象存储数据保存在 Docker Volume 中,可通过存储管理控制台(:9001)或命令行工具备份。
常用命令
docker compose -f docker-compose.prod.yml logs -f # 查看实时日志
docker compose -f docker-compose.prod.yml restart backend # 重启后端
docker compose -f docker-compose.prod.yml down # 停止所有服务
docker compose -f docker-compose.prod.yml down -v # 停止并清除数据(慎用)环境变量参考
必填
| 变量 | 说明 | 示例 |
|---|---|---|
SECRET_KEY | 应用密钥 | 随机字符串 |
ALLOWED_HOSTS | 允许的域名 | your-domain.com |
FRONTEND_URL | 前端访问地址 | https://your-domain.com |
DB_PASSWORD | 数据库密码 | 强密码 |
MINIO_ROOT_PASSWORD | 对象存储密码 | 强密码 |
可选
| 变量 | 说明 | 默认值 |
|---|---|---|
DEBUG | 调试模式 | False |
DB_NAME | 数据库名 | pandatest |
DB_USER | 数据库用户 | postgres |
CREATE_ADMIN | 是否创建初始管理员 | False |
ADMIN_USERNAME | 管理员用户名 | admin |
ADMIN_PASSWORD | 管理员密码 | — |
EMAIL_HOST | SMTP 服务器 | — |
GITHUB_CLIENT_ID | GitHub OAuth | — |
GOOGLE_CLIENT_ID | Google OAuth | — |
常见问题
后端无法启动
- 检查各服务容器是否健康:
docker compose ps - 查看详细日志:
docker compose logs backend - 确认
.env中数据库密码配置正确
无法访问页面
- 确认端口 80/443 未被占用
- 检查 frontend 容器日志:
docker compose logs frontend - 确认
ALLOWED_HOSTS包含你的域名
存储服务异常
- 确认存储服务容器健康:
docker compose ps - 确认
.env中MINIO_ROOT_USER和MINIO_ROOT_PASSWORD配置正确
如需获取镜像访问权限或技术支持,请联系:contact@pandatest.net