卸载
这个功能解决什么问题
当你需要腾空服务器、迁移到新机器,或彻底移除 VortLab 私有化部署时,使用卸载流程。默认模式会把业务数据打包保留,供同机重装恢复或搬运到其他机器。
卸载前必读
--purge-all模式下所有数据不可逆丢失(数据集、模型、训练记录、检测历史、数据库、License),且需要逐字输入vortlab二次确认才能执行。- 默认
--keep-data模式会先打包再删除(y确认即可),数据库以 SQL 导出形式保留(数据库卷无法直接保留:重装会生成新密码,旧卷将无法连接)。 - 卸载不会移除 Docker 本身;如需卸载 Docker 请按系统包管理器自行处理。
卸载脚本
离线安装的机器在 bundle 的 scripts/ 目录下已有 uninstall.sh;在线安装的机器安装完成后脚本已自动就位:
sudo bash /opt/vortlab/scripts/uninstall.sh
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
--keep-data | 开关 | 可选 | 默认 | 打包保留 data/、数据库导出、License、配置后卸载 |
--purge-all | 开关 | 可选 | — | 完全清除,不保留任何数据(需显式指定) |
--purge-images | 开关 | 可选 | — | 顺带删除平台镜像与镜像仓库凭证(回收约 9GB) |
--backup-dir DIR | 路径 | 可选 | 安装目录的上级 | 数据归档的输出目录,不能位于安装目录内 |
--yes | 开关 | 可选 | — | 跳过交互确认(自动化场景) |
(可选)确认要保留的数据
归档将包含
data/(数据集/模型/上传文件)、db.sql(卸载时刻的完整数据库导出)、license/(机器绑定,同机重装可复用)。执行卸载
sudo bash uninstall.sh # 默认保留数据sudo bash uninstall.sh --purge-all # 彻底清除(不可恢复)归档产物为单个
vortlab-data-<时间戳>.tar.gz(权限 0600,内含旧密钥,请妥善保管)。(可选)重装并恢复
归档内的
RESTORE-README.txt附带逐步恢复命令:重新安装 → 恢复 data/ 与 License → 导入 db.sql → 重启验证。
手动清理的陷阱
rm -rf /opt/vortlab 不会删除数据库卷——残留卷被下次安装收养后,新安装生成的数据库密码与旧卷中保存的密码不一致,后端将持续崩溃(password authentication failed)。手动清理时务必执行 docker compose down -v(或 docker volume rm config_postgres_data)确保卷一并删除。使用 uninstall.sh 则无此问题(内置卷清理校验)。
手工卸载(无脚本时)
# 1. 停止并移除容器/网络/卷(-v 会删除数据库卷)
cd /opt/vortlab/config
docker compose -f docker-compose.online.yml --env-file .env down -v --remove-orphans
# 2. 删除安装目录(如需保留数据先拷走 data/ 与 license/)
rm -rf /opt/vortlab
# 3.(可选)清理镜像与仓库凭证
docker logout swr.cn-southwest-2.myhuaweicloud.com
docker rmi swr.cn-southwest-2.myhuaweicloud.com/vortlab-test/{backend,frontend,upgrader,socket-proxy}:<版本>
docker rmi swr.cn-southwest-2.myhuaweicloud.com/vortlab-test/{torch-cpu,app-deps,python-runtime}:<版本>
docker rmi swr.cn-southwest-2.myhuaweicloud.com/vortlab-public/{postgres:18,nginx:1.25-alpine}