从 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 应用开发打下坚实基础。

相关推荐
醉舞经阁半卷书12 小时前
从零到1了解Agent Skills
人工智能·机器学习
冰西瓜6002 小时前
深度学习的数学原理(二十二)—— Seq2Seq编码器-解码器基础框架
人工智能·深度学习
袖手蹲2 小时前
Arduino UNO Q 板载 Nanobot 自动化编程指南之七
运维·人工智能·自动化
AI医影跨模态组学2 小时前
J Immunother Cancer(IF=10.6)中山大学孙逸仙纪念医院陈柏深等团队:动态时间数据预测NSCLC新辅助免疫化疗主要病理反应
人工智能·深度学习·机器学习·医学·医学影像
mldlds2 小时前
Windows安装Redis图文教程
数据库·windows·redis
liliwoliliwo2 小时前
vision transformer
人工智能·深度学习·transformer
tkevinjd2 小时前
hello-agents-chapter1-初识智能体
人工智能·ai·agent
li三河2 小时前
opencv利用freetype写中文
人工智能·opencv·计算机视觉
2601_955363152 小时前
技术赋能B端拓客:号码核验的行业困局与破局路径氪迹科技法人股东筛选系统,阶梯式价格
大数据·人工智能