本地windows环境升级dify到1.11.1版本

本地windows环境升级dify到1.11.1版本

  • [1. 整体描述](#1. 整体描述)
  • [2. 前期准备](#2. 前期准备)
  • [3. 具体步骤](#3. 具体步骤)
      • [1. 备份数据](#1. 备份数据)
      • [2. 停止容器](#2. 停止容器)
      • [3. 升级Dify](#3. 升级Dify)
      • [4. 修改配置文件](#4. 修改配置文件)
      • [5. 创建容器](#5. 创建容器)
      • [6. 升级验证](#6. 升级验证)
  • [4. 总结](#4. 总结)

1. 整体描述

最近react有个安全漏洞还挺严重的,具体可以搜下,dify也受波及。1.11.1之前的版本应该都会有问题,不过dify官方也火速做了更新,修复了该漏洞。此次出了两个版本修复漏洞,具体可以去dift官网github查看:1.10.1-fix和1.11.1。在1.10版本的,不想升级到1.11,可以更新到1.10.1-fix,本文主要就介绍下升级到1.11.1的方法。

2. 前期准备

升级和安装方式有关,我是在本地用docker-compose安装的,具体可以参考我之前写的这个:
在本地windows电脑搭建Dify环境

3. 具体步骤

1. 备份数据

important!备份数据库和配置文件

数据库

执行如下命令(执行时需要dify处于正常运行状态):

bash 复制代码
# 备份数据库
docker exec dify-db pg_dumpall -U postgres > dify_backup_$(Get-Date -Format "yyyyMMdd_HHmmss").sql

其中dify-db是你dify数据库docker容器的名称,根据自己容器名称修改,使用docker ps -a查看当前容器。

执行之后,会在当前目录生成一个文件:dify_backup_20251224_140022.sql,复制这个文件到备份的目录下就可以。

配置文件

dify主要的配置文件都在.env文件,直接复制这个文件到备份的目录下就可以。

2. 停止容器

在Dify的docker目录下执行:

bash 复制代码
# 停止容器(如果使用 docker-compose)
docker-compose down

执行之后,会自动删除dify的容器。

3. 升级Dify

这里升级Dify,这次我要升级的版本是1.11.1,这个版本修复了一个react的严重安全漏洞。当前版本:1.9.2,由于我是直接通过git下载的dify源码,这里我就用git命令升级了,升级之前可以备份下dify的源码,用docker-compose安装,其实也就是从git上拉取.env配置文件。

在dify的跟目录下执行,拉取最新代码:(目前main分支就是1.11.1)

bash 复制代码
git checkout main
git pull origin main

当然这块也有很多其他的方法,比如直接修改.env配置文件,在里面搜索你当前的dify版本(我这就是1.9.2),然后替换成1.11.1,我未验证这个方法可以不,理论上应该是可以的。

4. 修改配置文件

如果通过git直接拉取代码,需要将dify/docker目录下新拉取的.env.example重新命名为.env,因为新版加了数据库的配置(支持mysql了),所以这步不做的话,直接docker-compose up -d,数据库的容器无法创建(我怎么知道的?我开始就没做这步)。

当然,得用新的配置文件和原来你自己的配置文件对比下,比如你之前修改了一些配置,也要同步在新拉取的配置文件上修改下。

5. 创建容器

执行如下命令拉取镜像,创建容器:

bash 复制代码
# 使用 docker-compose
docker-compose up -d

执行之后,会拉取1.11.1版本镜像,会执行一段时间,不用科学上网的话,会比较慢。

等待拉取镜像完成,会自动创建容器,在docker desktop会看到,容器的版本号会变成:1.11.1。

6. 升级验证

等待Dify正常启动,通过页面访问,看下Dify的版本号,还有自己的配置和已经开发的工作流还在不在,是否正常运行。

我自己验证下,是没啥问题的。

4. 总结

Dify更新,每次都心惊胆颤,这次更新,是用1.9.2升级到1.11.1,跨越版本不多,网上经常有说升级之后,会出现各种各样的问题,但是这次更新不和避免,一是修复了严重漏洞,二是增加了mysql的支持,还增加了定时任务的组件,还是值得升级的。目前看,升级之后运行还算稳定。

相关推荐
lpruoyu6 小时前
【Docker进阶-03】存储原理
docker·容器
__WanG6 小时前
JavaTuples 库分析
java
坚持就完事了7 小时前
数据结构之树(Java实现)
java·算法
Monly217 小时前
Java:修改打包配置文件
java·开发语言
roman_日积跬步-终至千里7 小时前
【架构设计与实现】动态数据源切换:核心代码实现手册
java
毕设源码_廖学姐7 小时前
计算机毕业设计springboot招聘系统网站 基于SpringBoot的在线人才对接平台 SpringBoot驱动的智能求职与招聘服务网
spring boot·后端·课程设计
XiaoFan0127 小时前
免密批量抓取日志并集中输出
java·linux·服务器
顾北127 小时前
MCP服务端开发:图片搜索助力旅游计划
java·spring boot·dubbo
我命由我123457 小时前
Android 广播 - 静态注册与动态注册对广播接收器实例创建的影响
android·java·开发语言·java-ee·android studio·android-studio·android runtime
文静小土豆7 小时前
Docker 与 containerd 代理配置详解:镜像拉取速度慢的终极解决方案
运维·docker·容器