升级与备份
升级
- 先备份,见下一节;
- 解压新版本的交付包,把旧目录里的
.env和license/拷进新目录; - 把新目录
.env里的KNOWWORK_VERSION改成新版本号; - 在新目录里执行
./install-pro.sh:拉新镜像、重启服务,数据库在启动时自动升级。
之后就在新目录里操作,旧目录可以删掉。已有的知识库、文档、分块和向量在升级时都保留,不需要重新解析。
升级前先看更新说明
每个版本交付时都附带更新说明,写明这一版的升级须知、不兼容的改动和会多调模型的新功能。升级前请先读一遍,也可以看更新记录。
备份
在部署目录里执行 docker compose stop 停机后,备份下面这些 Docker 卷(卷名前缀默认 knowwork),以及部署目录里的 .env 和 license/:
| 卷 | 内容 |
|---|---|
knowwork_pg-data | 数据库:账号、空间、权限、对话、知识库的文档信息与分块(含多跳检索的关系数据) |
knowwork_milvus-data、knowwork_etcd-data | 知识库的向量 |
knowwork_rustfs-data | 上传的文档原件、对话附件、生成的文件 |
knowwork_secrets、knowwork_host-secrets、knowwork_db-secrets | 部署主密钥等 |
knowwork_dsh-data | 对话的运行数据 |
密钥卷一定要备份
三个 secrets 卷里是部署主密钥。丢了它,库里加密保存的模型密钥、数据源凭据就再也解不开了,只能逐个重新填写。
一个简单的备份写法(每个卷打成一个压缩包):
for v in pg-data milvus-data etcd-data rustfs-data secrets host-secrets db-secrets dsh-data; do
docker run --rm -v knowwork_$v:/data -v "$PWD/backup":/backup alpine \
tar czf /backup/knowwork_$v.tar.gz -C /data .
done
cp -r .env license backup/
恢复时在新机器上建同名卷、解压回去,再执行 ./install-pro.sh。
知识库也可以单独导出成包,在别的 KnowWork 里导入,见共享与导出导入。
更换授权文件
授权到期或扩容时会给你一份新的 .license:
- 删掉
license/里的旧文件,放入新文件(目录里只能有一份); - 在部署目录里执行
docker compose restart api worker; - 用系统管理员登录,「管理后台」→「系统设置」里确认授权有效、到期时间已更新。
授权过期后,内置知识库等商业版功能会停用,已有的知识库、文档和向量都保留在库里;按上面的步骤换上新授权、重启后恢复。