源码安装dify plugin daemon 找不到问题(已解决)

源码安装

  1. 官网教程
    https://docs.dify.ai/zh-hans/getting-started/install-self-hosted/local-source-code

坎坷历程
由于某种原因没有办法使用docker安装dify,所以根据官网本地源码启动的教程进行源码方式部署。但是,部署完api服务和worker服务后,启动web服务。发现有的接口报500错误,看日志是如下插件守护服务没有。

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/dify/api/core/plugin/manager/base.py", line 138, in _request_with_plugin_daemon_response
    response = self._request(method, path, headers, data, params, files)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/dify/api/core/plugin/manager/base.py", line 68, in _request
    raise PluginDaemonInnerError(code=-500, message="Request to Plugin Daemon Service failed")
core.plugin.entities.plugin_daemon.PluginDaemonInnerError
2025-04-01 02:44:09,762 INFO [_internal.py:97]  127.0.0.1 - - [01/Apr/2025 02:44:09] "GET /console/api/workspaces/current/plugin/tasks?page=1&page_size=100 HTTP/1.1" 500 -
  1. github上搜索到相关的提问,但是官方不解决源码方式安装的各种问题。网上搜索也没有任何关于此问题的回答。似乎无解

  2. 在官方仓库找到一个PluginDaemon的仓库。
    https://github.com/langgenius/dify-plugin-daemon
    定睛一看这不正是我要的插件守护服务吗?
    但是没有使用教程啊!!!!!!!,要疯了 。又掉了几根头发,研究使用方法。

这个里面有一个安装脚本,作用就是下载github上release 产物,然后在添加环境变量
.script/install.sh

就可以得到一个全局执行的,dify-plugin 命令

clone项目代码,进入项目根目录
go mod download # 安装依赖
go mod tidy # 清理冗余
go build # 编译

根据情况修改一下.env 里面的环境变量之后运行
go run cmd/server/main.go

就可以成功启动了!,如果帮助到你请给点个赞吧

### 安装依赖 为了在 Linux 上从源码安装 Dify 而不使用 Docker,首先需要确保系统已经安装了必要的依赖项。这些依赖通常包括 Python、Node.js 和其他特定库。 #### 更新软件包列表并安装基础工具 ```bash sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install python3-pip nodejs npm postgresql redis-server build-essential libpq-dev -y ``` ### 获取源码 按照给定的信息获取指定版本的 Dify 源码[^4]: ```bash git clone https://github.com/langgenius/dify.git cd dify git checkout 0.6.14 ``` ### 设置数据库 由于提到 PostgreSQL 是必需的服务之一,在非容器环境中可以直接利用已有的服务实例或自行配置一个新的实例来支持应用运行。对于 Redis 同样适用。这里假设 PostgreSQL 和 Redis 已经通过上述命令成功安装,并作为本地服务启动。 创建用于存储数据的应用专用数据库以及相应的用户权限设置: ```sql CREATE DATABASE dify; CREATE USER dify WITH PASSWORD 'your_password'; GRANT ALL PRIVILEGES ON DATABASE dify TO dify; ALTER ROLE dify SET client_encoding TO 'utf8'; ALTER ROLE dify SET default_transaction_isolation TO 'read committed'; ALTER ROLE dify SET timezone TO 'UTC'; ``` 编辑 `postgresql.conf` 文件调整最大连接数等参数以适应应用程序需求;修改 `/etc/redis/redis.conf` 中的相关选项优化性能表现。 ### 构建与配置项目 进入项目的根目录下到 `.env.example` 文件复制一份命名为 `.env`, 并根据实际情况填写其中的各项配置信息,特别是关于数据库连接的部分。 编译前端资源文件: ```bash npm ci npm run build ``` 初始化Python虚拟环境并激活它, 接着安装所需的 Python 库: ```bash python3 -m venv .venv source .venv/bin/activate pip install --upgrade pip setuptools wheel pip install -r requirements.txt ``` 最后一步是迁移数据库结构到最新状态: ```bash flask db upgrade ``` 此时应该可以尝试启动 Flask 开发服务器测试整个流程是否正常工作了: ```bash flask run ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值