私有化部署版 Dify 版本升级

1.升级前数据备份

升级前务必确保数据安全,这是回滚的唯一依据。

bash 复制代码
cd dify/docker
# 停止所有服务
docker compose down

# 备份数据卷
tar -cvf dify_backup_v1.9.1.tar ./volumes

# 备份配置文件
cp .env .env.bak

2.更新代码与配置

拉取最新代码并更新配置模板。

【切换版本】

bash 复制代码
cd ..
git fetch --all
git checkout v1.13.0

【同步环境变量】

  • 生成新模板cp docker/.env.example docker/.env

  • 手动合并 :将 .env.bak 中的 SECRET_KEY、数据库信息 (DB_HOST, DB_PASSWORD 等) 及各模型 API Key 迁移至新 .env

  • 关键核对 :执行 docker compose config --services,确保 .env 中的 DB_HOST 与输出的数据库服务名(如 db_postgres)完全匹配。

3.处理权限与环境变更

自 v1.10.x 起,容器运行权限发生变更,需手动调整存储目录权限。

bash 复制代码
# 在 dify 根目录下执行
sudo chown -R 1001:1001 ./docker/volumes/app/storage

4.拉取镜像并执行升级

操作步骤:

  • 更新镜像
  • 启动服务
  • 强制触发数据库迁移
bash 复制代码
# 更新镜像
cd docker
docker compose pull

# 启动服务
docker compose up -d

# 强制触发数据库迁移
docker compose exec api flask db upgrade

注意事项!!!

检查项 说明
数据库连接 确保 DB_HOSTdocker compose config --services 输出的服务名一致,否则将导致 Connection refused
容器权限 若 API 服务启动失败,检查是否遗漏了 chown -R 1001:1001 操作。
任务堆积 1.13.0 若工作流变慢,可在 .env 中调大 CELERY_WORKER_CONCURRENCY
知识库问题 若搜索异常,建议在 UI 界面重新索引或重新上传知识库。

5.验证状态

升级完成后,通过以下命令确认系统健康:

bash 复制代码
# 检查容器状态
docker compose ps

# 查看 API 日志,排除隐藏报错
docker compose logs -f api
相关推荐
程序员老刘10 小时前
Flutter 3.47 更新要点:Material 正式分家,老项目先别急着更新
flutter·ai编程·客户端
全栈弄潮儿11 小时前
一周总结:AI 编程入门最重要的 3 个原则
chatgpt·openai·ai编程
Nturmoils12 小时前
鸿蒙健康教练接入蓝耘:一句话打卡,模型估热量,网关记账
ai编程
正在走向自律13 小时前
WorkBuddy AI工具使用介绍完全指南
人工智能·爬虫·ai编程·workbuddy·ai的力量
咸甜适中13 小时前
rust语言AI编程学习笔记(五)clap命令行参数解析
学习·rust·ai编程
Awna13 小时前
Spec Kit 实战教程:单体服务 vs 微服务多仓库
ai编程
必须会一定会14 小时前
DeepSeek API 峰谷定价实战:计算 8 月 17 日后的 Agent 成本,并启动 Harness 预览版
人工智能·ai编程
canonical_entropy14 小时前
关于《Mission Driver:Loop Engineering 的一种通用参考实现》的补充说明
后端·agent·ai编程
leeyi14 小时前
Agent 调了删库工具怎么办:5 层防线——DeepFlux 工具安全纵深防御(第84篇-E70)
aigc·agent·ai编程
plainGeekDev15 小时前
Loop —— 文档还是脚本?让 AI 自动干活的完整指南
ai编程·claude