宝塔 docker dify社区版 latest 0.15.3 升级到1.0.0 过程

发布于 17 天前  364 次阅读


按照官方文档步骤

开始升级

升级分为以下步骤:

  1. 备份数据

  2. 插件迁移

  3. 主项目升级

1. 备份数据

1.1 在宝塔面板备份dify旧版数据。

1.2 注意备份前将 /www/dk_project/dk_app/dify/dify_1234 下
.env 最下面
VERSION=latest 改为VERSION=0.15.3
CONTAINER_NAME=CONTAINER_NAME
HOST_IP=0.0.0.0 要不然你恢复数据 就是旧版配置用的新版镜像 会报错

注意备份备份数据。
2. 升级版本

v1.0.0 支持通过 Docker Compose 部署。运行 cd 命令至你的 Dify 项目路径,运行以下命令升级 Dify 版本:

docker compose down

 

git checkout 1.0.0 # 切换至 1.0.0 分支 
这个步骤 我是使用去github直接下载包 上传到宝塔文件夹 用作覆盖升级
下载完成后复制docker下文件夹 覆盖所有文件夹到原有目录 

然后新建一个 1.0.0 版本的docker 不用等到新建成功  目的是为了得到 1.0.0 宝塔 的.env 和docker-compose.yml 和官方的不同的
将1.0.0的.env 和docker-compose.yml 复制到 原来版本文件夹下
然后在对应目录下升级
cd docker 
docker compose -f docker-compose.yml up -d
3. 工具迁移为插件

该步骤的目的:将此前社区版本所使用的工具及模型供应商,自动进行数据迁移并安装至新版本的插件环境中。

  1. 运行 docker ps 命令,查看 docker-api 容器 id 号。

示例:

 

docker ps
CONTAINER ID   IMAGE                                       COMMAND                  CREATED       STATUS                 PORTS                                                                                                                             NAMES
417241cd****   nginx:latest                                "sh -c 'cp /docker-e…"   3 hours ago   Up 3 hours             0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp                                                          docker-nginx-1
f84aa773****   langgenius/dify-api:1.0.0                   "/bin/bash /entrypoi…"   3 hours ago   Up 3 hours             5001/tcp                                                                                                                          docker-worker-1
a3cb19c2****   langgenius/dify-api:1.0.0                   "/bin/bash /entrypoi…"   3 hours ago   Up 3 hours             5001/tcp                                                                                                                          docker-api-1

运行命令 docker exec -it a3cb19c2**** bash 进入容器终端,在容器内运行:

实际:

直接进入docker里面升级 运行  docker exec -it dify_szqx-api-1 bash 

dify_szqx-api-1  是 运行api的容器 名称 然后运行下面的命令

 

poetry run flask extract-plugins --workers=20

如果提示报错,建议参考前置准备,先在服务器内安装 poetry 环境;运行命令后,若终端出现待输入项,点击 “回车” 跳过输入。

此命令将提取当前环境中使用的所有模型和工具。workers 参数将决定提取过程中的所使用的并行进程数,可根据需要进行调整。命令运行完成后将生成 plugins.jsonl 文件保存结果,该文件包含了当前 Dify 实例中所有工作区的插件信息。

确保你的网络正常访问公网,并支持访问:https://marketplace.dify.ai。在 docker-api-1 容器内继续运行以下命令:

 

poetry run flask install-plugins --workers=2

此命令将下载并安装所有必要的插件到最新的社区版本中。当终端出现 Install plugins completed. 标识时,迁移完成。

上面是插件升级完成 下面数据升级

还有 运行 poetry run flask db upgrade

和 poetry run flask migrate-data-for-plugin

这时候应该可以登录了  如果 还有插件没安装上 在手动安装 


有些随风有些入梦