
使用1panel图形化dify1.0.0升级dify1.0.1
官方无修改版本升级方式
没有修改过容器里面任何内容的,使用官方版本一键安装的话,升级会非常轻松,一键备份后一键升级即可,
如果你有以下任意一项则这个位置的教程不适合你,请往下面看,跳过这个位置
改过env
改过env.example
改过docker-compose-template.yaml
Docker Compose 部署
备份配置文件(可选)
cd docker
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
拉取最新代码
git checkout main
git pull origin main
停服操作(请在docker目录执行)
docker compose down
数据备份
tar -cvf volumes-$(date +%s).tgz volumes
升级服务
docker compose up -d
源码部署
停止所有服务(API、Worker、Web前端)
获取指定版本代码
git checkout 1.0.1
更新依赖
cd api
poetry install
执行数据库迁移
poetry run flask db upgrade
重启所有服务(API、Worker、Web前端)
说明:升级前建议做好全量备份,生产环境推荐在低峰时段操作。使用源码部署时,需注意Python依赖版本可能变化的情况。
你使用了我的方案该如何升级
https://www.5ee.net/archives/9kfPaSH7
升级方式其实和重装区别不大,docker升级无非就是镜像的版本号,和新增的环境变量什么的
唯一的重要的把数据无损的迁移过来,但并不是所有版本都支持无损迁移,跨大版本升级一般是会有问题的,小版本一般没什么问题
首先是备份
备份是必须的!备份是必须的!备份是必须的!
由于使用的是1panel,备份只需要打开面板,打开路径,将需要备份的文件 打包一下即可(如果你插件装的多的话,文件夹是非常大的,需要多等待一会,我这边是3G多)
系统-文件-
/opt/1panel/docker/compose/dify1.0.0/dify-main/docker
选中需要压缩的文件-一键压缩
下面两个个文件最好单独复制一份,因为主要改的还是这两个文件
docker-compose-template.yaml
.env.example
然后拉取整个项目
我的本地服务器无法访问github,我使用下载手动上传
上传-解压缩-覆盖
修改.env.example
首先是使用vscode 代码对比功能,上一个版本的代码和现在这个版本的代码做一下对比
主要位置是第四处和第五处,需要新增一下到你之前的.env.example
并复制一份.env
即可
第一处不同:这个地方是Oracle存储
第二处不同:Milvus向量化数据库
第三处不同:pgvector 向量化数据库
第四处不同:循环次数和最大工具数量,这地方需要新增
# Maximum loop count in the workflow
LOOP_NODE_MAX_COUNT=100
# The maximum number of tools that can be used in the agent.
MAX_TOOLS_NUM=10
第五处不同:新增了插件方面的超时时间,和国内镜像地址,这地方需要新增,是很重要的
PLUGIN_PYTHON_ENV_INIT_TIMEOUT=120
PLUGIN_MAX_EXECUTION_TIMEOUT=600
# PIP_MIRROR_URL=https://pypi.tuna.tsinghua.edu.cn/simple
PIP_MIRROR_URL=
修改docker-compose-template.yaml
第一处不同:dify-api 容器的版本号需要更新一下
第二处不同:dify-web 容器的版本号和新增两条变量 需要修改
第三处不同:postgres 数据库端口映射,不需要,我没用这个数据库,我用的是1panel之前装过的
第四处不同:插件版本号和环境变量 需要修改
第五处不同:pgvector 向量化数据库,不用修改,我没用
执行命令即可自动生成
./generate_docker_compose
cp .env.example .env 复制环境变量
docker compose down 关闭容器
docker compose up -d 启动容器
更新了几个容器的版本,它会重新根据新版本pull