yunyang 的个人博客 yunyang 的个人博客

记录精彩的程序人生

目录
dify离线部署(踩坑指南)
/      

dify离线部署(踩坑指南)

一、前期提要

由于项目中需要将dify部署到内网服务器,所以需要将dify进行打包,进行离线部署,但是部署过程中,出现了许多问题,在这里列出来希望能帮大家解决一点问题。

情况一:

因为现场网络频段是172频段,而docker默认安装时也是在这个频段,所以这里需要调整如下内容,把频段调整为与默认网段不冲突,记得docker的网段也需要修改。

# vim docker-compose.yaml

networks:
 outside.
  data_default:
    driver: bridge
    ipam:
      config:
        - subnet: 192.168.10.0/24
  data_ssrf_proxy_network:
    driver: bridge
    ipam:
      config:
        - subnet: 192.168.20.0/24
  ssrf_proxy_network:
    driver: bridge
    ipam:
      config:
        - subnet: 192.168.30.0/24
  milvus:
    driver: bridge
    ipam:
      config:
        - subnet: 192.168.40.0/24
  opensearch-net:
    driver: bridge
    ipam:
      config:
        - subnet: 192.168.50.0/24

情况二:

起初在测试环境尝试进行离线部署的时候,以为使用docker commit 将运行中的容器(含插件)提交到镜像就可以了,但是到现场才发现根本连不上大模型,因为在dify中,每次进行docker-compose up -d 时都会把容器内的插件给清空了,即使在volumes已经包含相应插件,他也会尝试去安装依赖。

解决方案:

后面在dify中的issues中看到可以把插件中的依赖直接打包进去,我也是用这种方法才解决。

步骤一:

# 运行环境
# Linux amd64
# Python version is 3.11 or higher

git clone https://github.com/junjiem/dify-plugin-repackaging.git

cd dify-plugin-repackaging

步骤二:

注意:由于该脚本中默认是使用linux进行构建,所以使用其他环境需要从dify下载相应插件包

dify插件包

# 核心脚本
# plugin_repackaging.sh
# dify-plugin-linux-amd64-5g x86
# dify-plugin-linux-arm64-5g arm

# 常用构建方式

# 1、从marketplace安装
./plugin_repackaging.sh market langgenius agent 0.0.9

# 2、从git安装
./plugin_repackaging.sh github junjiem/dify-plugin-agent-mcp_sse 0.0.1 agent-mcp_see.difypkg

# 3、从本地安装
./plugin_repackaging.sh github junjiem/dify-plugin-agent-mcp_sse 0.0.1 agent-mcp_see.difypkg

步骤三:

注意:构建后的插件包需要注意包大小,如果依赖缺失也是无法进行安装,不想自己打包的也可以私信我。


标题:dify离线部署(踩坑指南)
作者:yunyang
地址:https://yunyang.online/articles/2025/05/28/1748433611008.html