OpenWebUI(20)源码学习-版本升级

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


OpenWebUI升级

提示:这里可以添加本文要记录的大概内容:

你的数据(聊天、用户、设置、上传,包括知识库等)存在于Docker卷或本地数据库中,而不是在容器中。更新Open webUI意味着将容器映像交换为新的容器映像。你的数据会留在原来的地方。


提示:以下是本篇文章正文内容,下面案例可供参考

一、备份数据

进入主机目录下,运行docker备份openwebui中的卷数据。

1. 首次安装

当我首次用docker安装的时候,一般执行的下面命令:

bash 复制代码
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

-v open-webui:/app/backend/data 将openwebui的所有产生的数据存储在docker容器中的位置:/app/backend/data ,对应映射到宿主机卷名:open-webui下(真实位置:/var/lib/docker/volumes/open-webui/_data)

docker内的后端数据默认存储在主机的/var/lib/docker/volumes/open-webui/_data目录下

2.升级前备份数据

需要将上面后端数据提前备份,万一升级失败,还可以用这些备份的数据回退到原来版本;给你的数据上个"双保险"

bash 复制代码
# 进入工作目录
cd  /home/jinhu/openwebui/update_backup
# 开始备份数据
docker run --rm -v open-webui:/data -v $(pwd):/backup \
  alpine tar czf /backup/openwebui-$(date +%Y%m%d).tar.gz /data

这个命令的意思是:启动一个临时的 Alpine 容器,把 open-webui 卷挂载到容器的 /data,把当前目录挂载到 /backup,然后在容器内把 /data 下的所有内容打包压缩成一个带日期的文件,存到 /backup 里

3.开始升级

(1)停止 并移除原来的容器

bash 复制代码
docker stop open-webui
docker rm open-webui

(2)拉取最新的 Docker 镜像

bash 复制代码
docker pull 192.168.11.103:5000/open-webui:v0.8.12-cuda

(3)使用相同的数据卷启动新容器

这一步最关键:启动命令必须和原来一样,确保新容器依然挂载 open-webui 这个卷。

bash 复制代码
docker run -d -p 3000:8080   -v open-webui:/app/backend/data  -e WEBUI_SECRET_KEY="sk-hinmu6688-2026"   --name open-webui --restart always  --gpus all   192.168.11.103:5000/open-webui:v0.8.12-cuda

4.验证

打开浏览器访问 http://localhost:3000

查看对应的用户,对话记录,知识库等是否正常显示

5.升级失败回退

如果发现升级失败,要回退

bash 复制代码
# 1. 停止并移除有问题的容器
docker stop open-webui
docker rm open-webui

# 2. 用备份文件恢复数据卷
docker run --rm -v open-webui:/data -v $(pwd):/backup alpine sh -c "rm -rf /data/* && tar xzf /backup/openwebui-backup-YYYYMMDD.tar.gz -C /data"

# 3. 使用旧版本镜像重新启动容器,回到升级前的状态
#    (将 latest 替换为你之前备份时使用的旧镜像标签)
docker run -d --name open-webui \
  -p 3000:8080 \
  -v open-webui:/app/backend/data \
  --restart unless-stopped \
  ghcr.io/open-webui/open-webui:[旧版本号]
相关推荐
意图共鸣1 天前
意图共鸣科技《认知智能白皮书》——感知与执行分离:认知架构(CA)如何重塑大模型底层结构
人工智能·架构
等一个人的@1 天前
让数据自己开口:数睿通智库新增智能问数模块
人工智能·自然语言处理
ZGi.ai1 天前
人工审查节点:让自动化工作流多一步人工把关
运维·人工智能·自动化·人机协同·智能体工作流·人工审查
eggcode1 天前
【Qt学习】Linux(ARM架构)在线安装Qt6.x
linux·qt·学习·arm
王莎莎-MinerU1 天前
MinerU 深度技术解析:从架构原理到生产部署的全面指南
css·人工智能·自然语言处理·架构·ocr·个人开发
盘古信息IMS1 天前
盘古信息IMS V6 8.0重磅发布:以薪火AI数智平台点燃离散制造数智化引擎
大数据·人工智能·制造
weilaieqi11 天前
从音响制造到AI家庭娱乐生态:不见不散AI智能K歌音响亮相第二十届深圳国际金融博览会
人工智能·制造·娱乐
企服AI产品测评局1 天前
Agent适配信创环境实测:企业级自动化如何实现国产操作系统与数据库全兼容?
运维·数据库·人工智能·ai·chatgpt·自动化
Jiude1 天前
AI 写代码太快之后,团队协作反而更难了
人工智能·架构·github
12点一刻1 天前
Superpowers — AI 驱动的软件工程方法论框架
人工智能·软件工程