Open WebUI 运行在服务器/NAS 环境中,本次记录将其从 v0.12.0 升级到 v0.12.5 的完整过程。升级目标是与官方最新版保持一致,获取新版本改进,同时尽量降低升级风险。由于直连 ghcr.io 拉取镜像速度很慢,实际操作中改用南京大学 GHCR 镜像加速,并将 deploy.sh 中的镜像版本钉死为 v0.12.5。升级前完成了数据库、部署脚本和旧镜像 tag 备份,升级后通过 /api/config、/health 和公网访问进行验证,确认 users=2、chats=41 与升级前一致,数据完整。当前容器状态为 healthy,端口 3080:8080 正常,由 NPM 反向代理到 chat.xiejun-server.top。日志中仅有 Ollama 连接失败提示,因未配置 Ollama,升级前已存在,不影响本次升级。该记录同时保留回滚与后续更新方法,便于后续维护。
功能
- 版本升级与验证:v0.12.0 升级到 v0.12.5,/api/config 返回 0.12.5
- 数据完整性核对:升级前后 users=2、chats=41 一致
- 镜像加速拉取:使用 ghcr.nju.edu.cn,速度约 20MB/s
- 可回滚:保留 rollback-20261029 镜像 tag 与数据库备份
- 部署版本钉死:deploy.sh 使用 OPENWEBUI_IMAGE 指定 v0.12.5
- 健康检查:本地 /health 与公网域名均返回 200
技术栈
使用 / 部署教程
升级前准备
- 进入
/opt/open-webui,备份数据库为webui.db.bak-20261029-v0.12.0。 - 备份
deploy.sh,并将旧镜像打上回滚 tag:rollback-20261029。
拉取新镜像
直连 ghcr.io 较慢时,使用南京大学 GHCR 镜像:
docker pull ghcr.nju.edu.cn/open-webui/open-webui:v0.12.5
docker tag ghcr.nju.edu.cn/open-webui/open-webui:v0.12.5 ghcr.io/open-webui/open-webui:v0.12.5
修改部署版本
将 deploy.sh 中的镜像改为钉版本,例如:
IMAGE="${OPENWEBUI_IMAGE:-ghcr.io/open-webui/open-webui:v0.12.5}"
重建容器
cd /opt/open-webui
OPENWEBUI_IMAGE=ghcr.io/open-webui/open-webui:v0.12.5 ./deploy.sh
等待约 30 秒,确认容器状态为 healthy。
升级后验证
- 访问
/api/config,确认 version 为 0.12.5。 - 检查本地
/health与公网https://chat.xiejun-server.top/是否返回 200。 - 核对 SQLite 数据,确认 users、chats 数量与升级前一致。
回滚
如异常,执行:
cd /opt/open-webui
OPENWEBUI_IMAGE=ghcr.io/open-webui/open-webui:rollback-20261029 ./deploy.sh
常见问题
升级后如何确认版本?
访问 /api/config,确认 version 为 0.12.5 即表示版本正确。
数据会不会丢失?
本次升级前后 users=2、chats=41 一致,/opt/open-webui/data/webui.db 无丢失;升级前已备份数据库。
拉取镜像很慢怎么办?
资料中使用南京大学 GHCR 镜像 ghcr.nju.edu.cn,拉取速度约 20MB/s,然后 retag 为标准镜像名。
升级失败如何回滚?
使用旧镜像 tag rollback-20261029 执行 OPENWEBUI_IMAGE=ghcr.io/open-webui/open-webui:rollback-20261029 ./deploy.sh。
注意
- 直连 ghcr.io 速度可能很慢,建议使用 ghcr.nju.edu.cn 镜像。
- 观察 1-2 天无问题后,可删除旧镜像释放约 6.4GB 空间。
- 日志中 Ollama 连接失败因未配置 Ollama,升级前已存在,无害。

评论
加载中…