dify现在更新版本的速度很快,基本上每周都有一个小版本升级,偶尔还会有大版本升级,比如1.6版本加入MCP,1.7版本升级加入OAuth。

大家都知道在开源的世界,Windows爹不亲娘不爱的,dify的官方升级办法里也没有Windows适用的方法,一旦升级失败,有时候应用都要推倒重来,笔者就升级一次失败耗去两天时间才恢复。

经过试验,按以下步骤可以较好的实现在Windows下升级dify版本,并保证应用不丢失。

1、备份旧版本dify下docker目录的.env和docker-compose.yaml两个文件和volume文件夹,volume文件夹直接打个压缩包

2、下载最新版本dify,到github去download zip

3、关闭docker compose,如图在powershell下dify-main\docker目录下执行docker compose down命令,等待容器全部removed

4、将原来的dify-main文件夹重命名,比如dify-main1.5,解压下载的最新dify到原目录下

5、复制原来备份的volume文件夹到新的dify-main\docker文件夹下替换对应的volume文件夹

6、使用文本比较软件,比如Beyond Compare,选择文件比对,分别比较最新的.env和docker-compose.yaml两个文件与备份的文件之间的差异,原则是

a、如果最新的比旧版本多一些参数,不用改

b、如果最新的跟旧版本比,有一些版本或者存储大小之类数字的不一样,不用改

c、如果旧版本比新版本多一些,或者有些不是版本也不是大小之类的数字不一样,按旧版本改新版本的文件

上图所示,红色的是不一样的,但不需要改。一般来说要改的就这三个地方,可以直接在Beyond Compare中修改并保存:

yaml文件最后的

volumes:
  oradata:
  dify_es01_data:
  postgres-data:

yaml文件中间的

volumes:
      - postgres-data:/var/lib/postgresql/data

.env文件可能有关ollama的部分

# 启用自定义模型
CUSTOM_MODEL_ENABLED=true
# 指定 Ollama 的 API 地址(根据部署环境调整 IP)
OLLAMA_API_BASE_URL=http://host.docker.internal:11434

# PLUGIN_WORKING_PATH=/app/storage/cwd
PROVIDER_OLLAMA_API_BASE_URL=http://host.docker.internal:11434
PLUGIN_WORKING_PATH=/app/cwd  # 原文件有,需修改

#修改 docker-compose.yml 中 plugin_daemon 服务的配置,避免安装超时中断
PLUGIN_PYTHON_ENV_INIT_TIMEOUT=640
PLUGIN_MAX_EXECUTION_TIMEOUT=2400
# PIP_MIRROR_URL=https://pypi.tuna.tsinghua.edu.cn/simple
PIP_MIRROR_URL=https://mirrors.aliyun.com/pypi/simple  # 加速依赖安装

7、更新,输入 docker compose up -d,等待更新完成,时间可能比较久

8、验证docker desktop容器是否变绿了,进入dify看应用是否还在,查看dify版本是否更新成功。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐