最新版 dify 如何离线安装插件
还是先上结果

方法
参考下面 blog
Dify完全离线安装插件_dify离线安装ollama插件-CSDN博客: https://blog.csdn.net/qq_40279232/article/details/150001982
按照这个方法应该给是老版本可以,但是新版本需要再改下下面的地方
:.env 文件里明明设置了 ENFORCE_LANGGENIUS_PLUGIN_SIGNATURES=false,但安装时依然报错(plugin installation blocked...)。
2. 最终的根本原因: 这个 plugin installation blocked 错误,不是 plugin_daemon 容器(Go 语言程序)报的,而是 api 容器(Python 语言程序)报的!
3. Dify 的工作流程是:
- 浏览器(您)上传插件 ->
nginx(80 端口) ->api(5001 端口)。 api容器(Python)是“第一站”,它自己会先检查插件的签名。api容器也存在 Bug(和plugin_daemon容器一样):它忽略了.env文件中的ENFORCE_LANGGENIUS_PLUGIN_SIGNATURES=false设置,而是顽固地使用了它内部的默认值 (true),导致检查失败!
解决方案(正如这篇博客所说): 我们必须在 docker-compose.yml 中,同时为 api 容器和 plugin_daemon 容器强制注入这个变量。
- 我们上一步只给
plugin_daemon注入了。 - 我们必须给
api容器也注入。
解决方法
修改docker-compose.yaml(在 api 服务中添加 environment: 块):**
YAML
api:image: langgenius/dify-api:latestcommand: gunicorn --bind 0.0.0.0:5001 --workers 1 --threads 8 --preload app.app:appdepends_on:db:condition: service_healthyredis:condition: service_healthy# !! 关键修复:强制为 api 容器也注入这个变量 !!environment:ENFORCE_LANGGENIUS_PLUGIN_SIGNATURES: "false"env_file: [ ".env" ]restart: alwaysnetworks:- dify_net
保存并退出 (Ctrl+X, Y, Enter)。
