各位小伙伴们好,我是老宁,我回来了。之前分享过一期关于大语言模型(LLM)应用开发平台 Dify 的部署教程,受到了很多朋友的关注。时至今日,Dify 项目已经有了长足的更新,原有的部署方式已不再适用。应大家的要求,今天,一篇全新的、针对最新版 Dify 的部署教程终于来了。

项目地址

https://github.com/langgenius/dify

安装部署

因为Dify项目改动较大,如果按照原来的方式下载 docker-compose.yml 文件直接运行是不行的,所以需要先把整个项目下载到本地。

下载

如果你了解git,并且知道如何在群晖上使用 git 克隆项目,那么可以采用如下命令。

git clone https://github.com/langgenius/dify.git

第二种方法是手动下载并导入到群晖。

🔻 在浏览器中打开下面网址。

https://github.com/langgenius/dify/releases

🔻 找到最新版本,把源码(zip文件)下载到本地。

🔻 把压缩包上传到群晖并进行解压。

修改配置

因为我们是在群晖安装 Dify,所以不需要项目自带的反向代理相关容器,所以要删除相关配置。

🔻 注释(或删除)certbot 服务:这是用于为内置 nginx 自动申请和续订 SSL 证书的工具。

🔻 注释(或删除)nginx 服务:这是内置的反向代理服务器。

🔻 注释(或删除)opensearch 服务:Dify 的 docker-compose.yaml 文件默认使用的向量数据库是 weaviateopensearch 只是一个可选项,ulimits配置会引起群晖Container Manger错误。

移除 nginx 后,api(后端)和 web(前端)服务就无法通过 nginx 容器被外界访问了。因此,必须手动将它们的端口暴露到群晖主机上,以便我们自己的反向代理能够找到它们。

🔻 找到 api 服务,在 depends_onvolumes 的同级添加 ports 部分。Dify 的 API 内部运行在 5001 端口。为避免与群晖系统冲突,建议映射到主机的一个不常用端口,例如 5301

🔻 找到 web 服务,同样添加 ports 部分。Dify 的 Web 前端内部运行在 3000 端口。这个端口通常不冲突,可以直接映射。

🔻 接着再修改env文件了,把.env.example文件名重命名为.env

🔻 把.env文件拖入文本编辑器中修改,把下列几个URL路径都修改为反向代理的域名地址。(域名前缀自定义)

🔻 如果有不懂反向代理的小伙伴可以看下面的文章。

🔻 最后,我们需要在 docker-compose.yaml 文件所在的目录(dify-1.4.1/docker/)下,手动创建以下几个用于数据持久化的文件夹(如果它们不存在的话)。

  • /volumes/app/storage
  • /volumes/db/data
  • /volumes/redis/data
  • /volumes/weaviate
  • /volumes/plugin_daemon

启动项目

🔻 接下来就可以启动项目了。打开群晖 Container Manager新增项目,路径一定要选择到docker-compose.yml文件所在的文件夹,并使用现有的docker-compose.yml文件

🔻 构建成功后,项目下所有的容器都应该呈绿色。如果构建过程中报路径找不到错误,那么应该是没有创建对应的文件夹,按提示创建即可。

反向代理

接下来配置反向代理,下面以Nginx Proxy Manager进行演示。

🔻 打开Nginx Proxy Manager后台,增加新的一个域名,转发的IP为群晖内网IP,端口为前面docker-compose文件中web服务端口。

🔻 在 Custom locations 中,新增 /console/api/api/v1/files路径,都转发群晖的IP上,转发的端口和前面 docker-compose 文件中API服务的端口号保持一致。(四个路径都添加上去)

🔻 最后记得在SSL中选择SSL证书。

运行

🔻 用浏览器打开【https://反代域名/install】进行管理员账户设置。

🔻 配置完成后就可以用邮箱和密码登录了。

🔻 其他的用法可以参考老宁前面写的一篇。

后记

这段时间由于工作变动,生活和工作上都需要一些时间来适应和调整,所以暂时放下了更新的脚步,也感谢大家的耐心等待。 大家都知道,写这种详细的技术分享更多是出于一份热爱,需要投入大量的时间和精力。现在,老宁调整好了节奏,重新回来啦!后面会努力保持更新,继续为大家带来老宁一贯的通俗易懂、手把手风格的干货内容。

最后修改:2025 年 06 月 07 日
如果觉得我的文章对你有用,就给个赏~~写文章,费烟~