部署方案
前后端部署

平台部署

先部署平台,再在插着设备的机器上部署 Agent。

准备工作

项目要求
操作系统Linux(推荐 Ubuntu 22.04+)或 Windows + Docker Desktop
DockerDocker Engine 24+ 和 Docker Compose V2
硬件≥ 2 核 CPU / 4 GB 内存 / 40 GB 磁盘
交付物实施人员提供的发行包(含 compose、脚本与镜像)

安装平台

解压发行包

将交付的发行包解压到服务器,进入目录:

cd pandatest

目录大致如下:

pandatest/
├── docker-compose.yml
├── .env.example
├── images/                 # 离线镜像包(如有)
└── deploy/
    ├── manifests/
    └── scripts/
        ├── server-doctor.sh
        ├── server-install.sh
        ├── server-upgrade.sh
        └── server-rollback.sh

导入镜像

按交付说明导入镜像。常见方式:

# 离线包
docker load -i images/pandatest-images.tar
 
# 或按交付说明登录贵司镜像仓库后拉取
# docker login <交付说明中的仓库地址>
# docker compose pull

配置环境变量

复制 .env.example 为 .env,至少填写:

SECRET_KEY=请改为随机字符串
ALLOWED_HOSTS=192.168.1.10,localhost
FRONTEND_URL=http://192.168.1.10
 
DB_PASSWORD=请改为强密码
MINIO_ROOT_PASSWORD=请改为强密码
 
CREATE_ADMIN=True
ADMIN_USERNAME=admin
ADMIN_EMAIL=admin@your-company.com
ADMIN_PASSWORD=请改为管理员密码

有域名时,把 ALLOWED_HOSTS、FRONTEND_URL 改成域名即可(HTTPS 见下文)。

安装

bash deploy/scripts/server-doctor.sh --version 1.1.5
bash deploy/scripts/server-install.sh --version 1.1.5

首次启动会自动完成数据库迁移和管理员账号创建。

打开控制台

浏览器访问 .env 里的 FRONTEND_URL,例如 http://192.168.1.10。

接下来按 Agent 部署 接入设备,MASTER_URL 填写同一地址。

HTTPS(可选)

有域名时再配置:

sudo apt install certbot
sudo certbot certonly --standalone -d your-domain.com
docker compose restart frontend

升级 & 回滚

使用交付的新版本发行包后:

bash deploy/scripts/server-doctor.sh  --version 1.1.5
bash deploy/scripts/server-upgrade.sh --version 1.1.5
 
bash deploy/scripts/server-rollback.sh --version 1.1.4

完整流程见 升级指南 和 回滚指南。

数据备份

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 compose ps
docker compose logs -f
docker compose restart backend
docker compose down

环境变量参考

必填

变量说明示例
SECRET_KEY应用密钥随机字符串
ALLOWED_HOSTS允许访问的主机名或 IP192.168.1.10
FRONTEND_URL控制台访问地址http://192.168.1.10
DB_PASSWORD数据库密码强密码
MINIO_ROOT_PASSWORD对象存储密码强密码

可选

变量说明默认值
CREATE_ADMIN首次启动时创建管理员False
ADMIN_USERNAME管理员用户名admin
ADMIN_PASSWORD管理员密码—
ADMIN_EMAIL管理员邮箱—

常见问题

服务起不来

  1. docker compose ps 查看容器状态
  2. docker compose logs backend 查看日志
  3. 确认镜像已导入,且 .env 中数据库密码正确

打不开控制台

  1. 确认 FRONTEND_URL 与浏览器地址一致
  2. 确认 ALLOWED_HOSTS 包含该主机名或 IP
  3. 查看 docker compose logs frontend

部署问题请联系实施人员。