从 1.1.3 到 1.13.2!Ubuntu 24.04 上 Dify 升级保姆级教程(零数据丢失 + 一键迁移)

前言

还在为 Dify 旧版本缺少「流式回复」节点而烦恼?想解锁双模型同步流式输出、工作流可视化调试等新功能,却担心升级丢数据?

本文专为 Ubuntu 24.04 系统定制,全程不涉及复杂开发,所有代码可直接复制,手把手带你从 v1.1.3 平滑升级到 v1.13.2,同时守住数据安全底线,让你安心用上新版 Dify 的所有高级特性。

目录

  1. 升级前必看:为什么要升级到 v1.13.2?
  2. 零风险准备:数据备份三保险(数据库 + 配置 + 数据卷)
  3. 两种升级方式:Git 拉取(推荐)vs 发布包下载
  4. 配置迁移:保留自定义设置,避免登录失效
  5. 启动服务 + 数据库迁移:跨版本升级关键步骤
  6. 升级验证 + 回滚方案:确保万无一失
  7. 高频踩坑 & 100% 避坑指南

一、升级前必看:为什么要升级到 v1.13.2?

v1.13.2 作为 Dify 最新稳定版,相比 v1.1.3 有质的飞跃,尤其对双模型流式输出场景:

  • 新增「流式回复」节点:支持多模型并行增量推送,是实现 OpenWebUI 同款双模型分栏流式输出的核心;
  • 工作流引擎升级:并行分支执行更高效,双模型调用速度提升 30%+;
  • 稳定性强化:修复模型调用超时、节点连接异常等 20 + 个 Bug;
  • 性能优化:内存占用降低 25%,支持更大规模的模型部署;
  • 可视化增强:节点配置界面优化,调试更直观。

二、零风险准备:数据备份三保险(数据库 + 配置 + 数据卷)

升级前备份是第一要务,跨版本升级尤其重要,以下三步确保数据零丢失:

2.1 停止 Dify 服务(避免数据写入冲突)

首先进入 Dify 的 docker 部署目录,停止所有服务:

bash 复制代码
# 进入docker目录(替换为你的实际路径)
cd /opt/dify/docker

# 停止并移除容器(数据卷和配置文件不会删除)
docker compose down

2.2 数据库备份(PostgreSQL 双重保险)

单库备份(体积小,恢复快)+ 全库备份(应急用),双管齐下:

bash 复制代码
# 单库备份(推荐)
docker compose exec db pg_dump -U postgres dify > dify_db_$(date +%Y%m%d_%H%M%S).sql

# 全库备份(应急用)
docker compose exec db pg_dumpall -U postgres > dify_all_db_$(date +%Y%m%d_%H%M%S).sql

2.3 数据卷备份(知识库 + 上传文件等核心数据)

数据卷是 Dify 的核心数据存储区,必须完整备份:

bash 复制代码
# 压缩备份数据卷(保留权限和目录结构)
tar -czvf dify_volumes_$(date +%Y%m%d_%H%M%S).tar.gz ./volumes

2.4 配置文件备份(避免自定义设置丢失)

备份.env 和 docker-compose.yml,防止升级后登录失效或模型连接失败:

bash 复制代码
# 备份配置文件
cp .env .env.bak
cp docker-compose.yml docker-compose.yml.bak

# 验证备份完整性(确保文件都生成)
ls -lh dify_db_*.sql dify_all_db_*.sql dify_volumes_*.tar.gz .env.bak docker-compose.yml.bak

三、两种升级方式:Git 拉取(推荐)vs 发布包下载

方式 1:Git 拉取(推荐,便捷且易维护)

适合已通过 Git 部署的用户,步骤如下:

bash 复制代码
# 1. 进入Dify根目录(替换为你的实际路径)
cd /opt/dify

# 2. 拉取最新代码并切换到v1.13.2版本
git checkout main
git pull origin main
git checkout v1.13.2  # 切换到最新稳定版

# 3. 进入docker目录,准备启动服务
cd docker

方式 2:下载发布包(非 Git 部署)

适合手动下载安装包的用户,步骤如下:

bash 复制代码
# 1. 下载v1.13.2发布包
wget https://github.com/langgenius/dify/archive/refs/tags/v1.13.2.tar.gz

# 2. 解压到临时目录
tar -xzvf v1.13.2.tar.gz

# 3. 复制新的配置文件到原部署目录
cp dify-1.13.2/docker/docker-compose.yml ./
cp dify-1.13.2/docker/.env.example ./.env.new

四、配置迁移:保留自定义设置,避免登录失效

升级后需要保留原有的核心配置(如数据库密码、密钥等),否则会导致登录失效或模型连接失败:

4.1 对比新老配置文件(了解差异)

bash 复制代码
# 对比新老.env文件,查看新增配置项
diff .env.bak .env.new

4.2 编辑.env 文件,保留核心自定义配置

使用 vim 编辑.env 文件,必须保留以下核心配置(其余可沿用.env.new 的默认值):

bash 复制代码
vim .env

复制以下内容,替换为你的实际配置:

python 复制代码
# 必须保留的核心配置
PORT=8000  # 你的原有端口
POSTGRES_PASSWORD=your_password  # 原数据库密码,不能改
SECRET_KEY=your_secret_key  # 原密钥,丢失会导致登录失效
STORAGE_TYPE=local  # 你的存储类型(本地/对象存储)
VECTOR_STORE=weaviate  # 你的向量库(如pgvector、chroma)
MODEL_PROVIDERS=vllm,sglang  # 你的模型提供商(如vLLM、SGLang)

4.3 合并 docker-compose.yml 配置(可选)

如果修改过原 docker-compose.yml(如自定义端口、挂载目录),需要手动合并差异:

bash 复制代码
# 用vim打开新的docker-compose.yml
vim docker-compose.yml

# 复制原文件中的自定义配置(如ports、volumes等)到新文件

五、启动服务 + 数据库迁移:跨版本升级关键步骤

5.1 拉取 v1.13.2 版本镜像

bash 复制代码
# 拉取最新镜像(确保所有服务使用v1.13.2版本)
docker compose pull

5.2 后台启动服务

bash 复制代码
# 后台启动所有服务
docker compose up -d

5.3 强制触发数据库迁移(跨版本升级必做)

v1.1.3 到 v1.13.2 有大量表结构变更,必须执行数据库迁移:

bash 复制代码
# 执行数据库迁移(确保表结构同步)
docker compose exec api flask db upgrade

5.4 查看服务状态,确认启动成功

bash 复制代码
# 查看所有服务状态(应为Up)
docker compose ps

# 实时查看api服务日志,无报错即可
docker compose logs -f api

六、升级验证 + 回滚方案:确保万无一失

6.1 升级验证(关键步骤)

打开浏览器,访问 http://<服务器IP>:<端口>,使用原有管理员账号登录,确认:

  1. 登录正常,无权限错误;
  2. 原有工作流、知识库正常显示;
  3. 左侧节点库中出现「流式回复(Stream Reply)」节点(升级成功的核心标志);
  4. 模型配置正常,可正常调用。

6.2 回滚方案(升级失败时使用)

如果升级后出现问题,可通过以下步骤回滚到 v1.1.3:

bash 复制代码
# 1. 停止当前服务
docker compose down

# 2. 恢复备份的配置文件
cp .env.bak .env
cp docker-compose.yml.bak docker-compose.yml

# 3. 恢复数据卷
rm -rf ./volumes
tar -xzvf dify_volumes_*.tar.gz

# 4. 恢复数据库
docker compose up -d db
sleep 10  # 等待数据库启动
cat dify_db_*.sql | docker compose exec -T db psql -U postgres dify

# 5. 启动旧版本服务
docker compose up -d

七、高频踩坑 & 100% 避坑指南

问题现象 根本原因 解决方案
升级后无法登录 SECRET_KEY 配置丢失 恢复原.env 文件中的 SECRET_KEY,重启服务
数据库迁移失败 原数据库密码错误 核对.env 中的 POSTGRES_PASSWORD,确保与备份时一致
服务启动失败 端口被占用 修改.env 中的 PORT,或关闭占用端口的进程
模型调用失败 模型配置未迁移 重新配置模型 API,确保与原版本一致
流式回复节点不显示 版本未切换到 v1.13.2 重新执行 git checkout v1.13.2,拉取最新镜像

总结

在 Ubuntu 24.04 上升级 Dify,核心就是 "备份 + 配置迁移 + 数据库升级" 三步,只要严格按照本文步骤操作,就能零风险从 v1.1.3 升级到 v1.13.2。

升级完成后,你不仅能解锁「流式回复」节点,实现 OpenWebUI 同款双模型同步流式输出,还能享受新版 Dify 带来的稳定性和性能提升,为后续 AI 应用开发打下坚实基础。

相关推荐
云浪1 分钟前
从 0 到 1 搭建 RAG 应用:用 LangChain + Chroma + qwen-plus 实现《红楼梦》问答
javascript·vue.js·人工智能
Deitymoon8 分钟前
基于 Socket 的FTP 云盘系统
linux·服务器·网络
YJlio15 分钟前
2026年4月18日60秒读懂世界:从神舟二十号出舱到L2新国标公示,今天最值得关注的6个信号
windows·python·django·计算机外设·电脑·outlook·eixv3
j_xxx404_20 分钟前
用系统调用从零封装一个C语言标准I/O库 | 附源码
linux·c语言·开发语言·后端
MY_TEUCK21 分钟前
从零开始:使用Sealos Devbox快速搭建云原生开发环境
人工智能·spring boot·ai·云原生·aigc
计算机魔术师24 分钟前
【AI面试八股文 Vol.1.1 | 专题3:State Schema 设计】State Schema设计:TypedDict / Pydantic类型约束
linux·人工智能·面试
Polaris_T25 分钟前
2026最新字节大模型岗面经汇总(多平台整理)
人工智能·经验分享·算法·aigc·求职招聘
源码之家25 分钟前
计算机毕业设计:Python降水量分析与预警平台 Flask框架 数据分析 可视化 大数据 AI 大模型 爬虫 数据大屏(建议收藏)✅
人工智能·python·信息可视化·数据分析·django·flask·课程设计
游了个戏33 分钟前
用AI做了个小游戏(二)
人工智能·游戏·微信