【AI】本地部署Dify版本升级过程(官方vs乾坤大挪移)


前言


一、部署Dify

安装docker,本地部署Dify,网上教程很多。关键步骤是下载Dify,进入docker目录,并运行以下命令。

cd docker
cp .env.example .env
docker compose up -d

二、升级 Dify 注意事项

Dify运行了一段时间,版本升级了,要在保留之前服务数据的情况下进行升级,官方也给出了操作方法。其核心步骤就是:

  1. 备份文件:确保备份重要文件,包括 docker-compose.yaml 文件、.env 文件和 volumes 目录。
  2. 更新文件:使用目标版本的对应文件(如 Dify v1.0.0),并更新相关参数,如 URL、数据库密码等。
  3. 停止服务:在更新之前,先停止当前运行的服务。 执行升级命令:使用命令 sudo docker compose -f
  4. docker-compose.yaml up -d 来启动更新后的服务。 清理旧镜像:可以选择清理不再需要的旧镜像以节省空间。
  5. 通过这些步骤,您可以顺利完成 Dify 的版本升级。

三、官方升级操作命令:

  1. 备份,Back up your customized docker-compose YAML file (optional)
cd docker
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
  1. 获取最新版本,Get the latest code from the main branch
git checkout main
git pull origin main
  1. 停止服务,Stop the service, Command, please execute in the docker directory
docker compose down
  1. 备份数据,Back up data
tar -cvf volumes-$(date +%s).tgz volumes
  1. 升级服务,Upgrade services
docker compose up -d

四、个人升级之乾坤大挪移方法

使用官方方法当然可以升级,但个人还是建议将Dify的原始目录内容全部备份下,以免升级不成功无法恢复。在此过程中,我尝试使用复制粘贴也可以升级,具体如下:

1. 停止服务

在这里插入图片描述

2. 下载最新版本Dify

在这里插入图片描述

3. 备份+替换

这里将之前的Dify目录重命名,之后再将下载的解压到相同目录,更更新选中的三个目录和文件,并再次点击图1里的按钮启动即可。
在这里插入图片描述

4. 检查

在这里插入图片描述
经过以上3部,可以发现,之前的应用和模型配置等数据都还在,测试了一下,使用也都正常。


总结

目前Dify 已升级到v1.1.2,感兴趣的小伙伴可以试试。

### 解决 Dify 和 Ragflow 端口冲突的方法 当在同一台服务器上同时启动 Dify 和 Ragflow 时,可能会遇到 Redis 容器间的端口冲突问题。为了确保这两个应用能够顺利共存并正常工作,有几种有效的解决方案。 #### 方法一:指定 Docker Compose 的项目名称 如果不显式设置 Docker Compose 文件中的 `project_name` 参数,则默认情况下所有服务都会被放置在一个名为当前目录名的命名空间下。这可能导致不同应用程序之间存在资源竞争的情况。因此,在各自的 docker-compose.yml 中加入如下配置来区分各个项目的实例: ```yaml version: '3' services: ... # 添加此行以定义唯一的项目前缀 x-project-name: &project_name my_unique_project_prefix_ ``` 这样做之后,即使两个 compose 文件位于同一主机的不同路径下也不会发生冲突[^1]。 #### 方法二:调整 Redis 实例监听地址及端口号 为了避免直接暴露内部网络接口给外部访问带来的安全隐患以及简化防火墙规则管理等问题,建议修改每个 Redis 实例所绑定的具体 IP 地址及其对应的宿主机映射端口。对于 ragflow 可保持原有设定不变;而对于 dify 则需更改其对外提供服务的 TCP 端点至其他可用数值(如6380),具体操作方式是在相应的 service 配置项里增加或替换原有的 port 映射声明: ```yaml services: redis: image: redis:alpine container_name: dify_redis_container ports: - "6380:6379" ``` 上述改动使得客户端连接到本地机器上的 6380 即可触达该容器内的数据库引擎[^3]。 通过实施这些策略,可以有效地防止由于共享相同物理硬件而导致的服务间相互影响现象的发生,并保障各自独立稳定地运作环境[^2]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT里的交易员

分享是一种快乐,打赏是一种肯定

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值