前言
还在为 Dify 旧版本缺少「流式回复」节点而烦恼?想解锁双模型同步流式输出、工作流可视化调试等新功能,却担心升级丢数据?
本文专为 Ubuntu 24.04 系统定制,全程不涉及复杂开发,所有代码可直接复制,手把手带你从 v1.1.3 平滑升级到 v1.13.2,同时守住数据安全底线,让你安心用上新版 Dify 的所有高级特性。
目录
- 升级前必看:为什么要升级到 v1.13.2?
- 零风险准备:数据备份三保险(数据库 + 配置 + 数据卷)
- 两种升级方式:Git 拉取(推荐)vs 发布包下载
- 配置迁移:保留自定义设置,避免登录失效
- 启动服务 + 数据库迁移:跨版本升级关键步骤
- 升级验证 + 回滚方案:确保万无一失
- 高频踩坑 & 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>:<端口>,使用原有管理员账号登录,确认:
- 登录正常,无权限错误;
- 原有工作流、知识库正常显示;
- 左侧节点库中出现「流式回复(Stream Reply)」节点(升级成功的核心标志);
- 模型配置正常,可正常调用。
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 应用开发打下坚实基础。