dify升级需先备份数据库、volumes目录及.env和docker-compose.yml文件,再按git方式、一键升级、weaviate迁移或离线流程操作,确保数据完整与服务可用。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要将已部署的 Dify 从旧版本平滑过渡到新版本,同时确保数据库、知识库、配置文件和插件数据全部保留,避免出现初始化向导、知识库不可用或登录失效等问题。
升级前强制备份三要素
停止服务后再操作,否则可能写入冲突导致数据损坏。进入 Dify 的 docker 目录(例如 /opt/dify/docker 或你实际部署路径)执行:
docker compose down
用 pg_dump 单库备份核心数据,体积小、恢复快、兼容性高:
docker compose exec db pg_dump -U postgres dify > dify_db_$(date +%Y%m%d_%H%M%S).sql
压缩备份 volumes 目录,它包含上传文件、知识库索引、自定义图标等不可再生资源:
tar -czvf dify_volumes_$(date +%Y%m%d_%H%M%S).tar.gz ./volumes
【必须同步备份 .env 和 docker-compose.yml】 这两个文件一旦丢失,会导致模型密钥失效、端口错乱、Redis 连接拒绝,升级后无法登录或 API 调用全失败。
Git 方式升级(推荐用于本地开发/定制化部署)
适用于你通过 git clone 部署、且保留了原始仓库结构的场景。此方式能精准控制分支、保留定制代码、规避镜像层污染。
第一步:进入项目根目录,拉取远程所有标签
git fetch origin --tags
第二步:查看目标版本对应 tag(如升级到 1.13.2)
git tag --list '*1.13.2*'
第三步:检出新版本代码(假设返回 v1.13.2)
git checkout v1.13.2
第四步:进入 docker 目录,用备份的 .env 覆盖新版本中的 .env.example,并校验 DATABASE_URL、REDIS_URL、WEAVIATE_ENDPOINT 等关键变量是否与旧版一致
第五步:启动新服务
docker compose up -d
一键升级(仅限 Dify 1.7.1+ 官方应用中心部署)
适用于未做任何代码定制、使用 SAE 应用中心或类似面板部署的用户。全程图形化操作,但会中断服务约 5–8 分钟。
Dify 3.9.2更新重点增强系统安全性,引入 Chainguard 安全基础镜像并同步社区版 CVE 修复,同时优化 OpenSearch 向量存储兼容性、插件参数传输机制及 Helm 部署配置。新增工作流模型节点缓存能力,可减少重复凭证查询,显著提升复杂工作流初始化速度,为企业级 AI 应用提供更稳定、高效的运行体验。
方法一:在应用中心控制台右上角点击「升级服务实例」→ 选择目标版本 → 确认升级
方法二:若页面无升级按钮,说明当前版本低于 1.7.1,需先手动升级至 1.7.1 再启用该功能
注意:升级过程中 Web 界面不可访问,但日志持续输出;请勿在进度条达 90% 前刷新页面或关闭窗口,否则可能触发半升级状态。
跨版本向量库迁移(Weaviate 必做)
从 1.8.x 升级到 1.9+、或 1.11.x 升级到 1.13.x 时,Weaviate schema 结构变更,仅复制 volumes 不足以恢复知识库可用性,必须执行迁移脚本。
先确认旧环境 Weaviate 版本:
curl -s http://127.0.0.1:8080/v1/meta | jq '.version'
停掉新旧 Dify 容器后,进入新版本 docker 目录,运行迁移命令:
docker compose exec api poetry run python migrate_weaviate_collections.py
该脚本会自动读取旧 volumes/weaviate 下的 schema 和数据,按新版本要求重建 collection 并导入向量,耗时取决于知识库总 token 数——100 万 token 约需 90 秒。
离线环境升级(无公网/内网隔离)
适用于金融、政务等强管控网络环境。需提前在有网机器完成镜像与代码打包,再拷贝至目标服务器。
在联网机器执行:
docker save -o dify-web.tar langgenius/dify-web:1.13.2
docker save -o dify-api.tar langgenius/dify-api:1.13.2
git clone https://gitee.com/dify_ai/dify.git --branch 1.13.2
tar -czf dify-1.13.2-src.tar.gz dify
将生成的 4 个文件(2 个 tar 镜像 + 1 个 src 包 + 1 个 volumes 备份包)拷贝至目标服务器
在目标服务器加载镜像:
docker load -i dify-web.tar
docker load -i dify-api.tar
解压源码并进入 docker 目录,用你备份的 .env 替换 .env.example,再执行:
docker compose up -d










