dify 源码方式安装部署

前情提要

dify版本:v0.14.2
python管理器:miniconda
系统:Ubuntu 22.04

环境创建

用Conda命令创建dify执行的环境

/~$ conda create -n dify_v0.14.2 python=3.12
# 激活环境
/~$ conda activate dify_v0.14.2

后端部署

dify的Github下载源码

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

在部署环境之前要预部署PostgreSQL\Redis\Weaviate,如果本地没有预先部署,那就参考官方文档执行docker安装↓。
本示例参考官方文档步骤部署。

# 进入下载下来的dify源码目录
/dify-0.14.2$ cd docker
/dify-0.14.2/docker$ cp middleware.env.example middleware.env
/dify-0.14.2$/docker docker compose -f docker-compose.middleware.yaml up -d

执行结果
在这里插入图片描述

服务配置

#1. 进入后端服务目录
/dify-0.14.2$ cd api
#2. 备份配置文件
/dify-0.14.2/api$ cp .env.example .env
#3. 生成随机密钥:
#此条命令会在.env配置文件里的SECRET_KEY配置项后面追加一串随机符
/dify-0.14.2/api$ awk -v key="$(openssl rand -base64 42)" '/^SECRET_KEY=/ {sub(/=.*/, "=" key)} 1' .env > temp_env && mv temp_env .env
#4. 修改.env配置文件相关配置:
#例如PostgreSQL\Redis\Weaviate\Celery的相关连接配置,请根据实际的情况对应修改

服务依赖安装

dify的API服务依赖包使用Poerty管理

#安装配置poerty,一般安装pip时会有poetry,可用pip list查看,若没有再行安装,本示例使用1.8.5
/dify-0.14.2/api$ pip install poetry==1.8.5
#安装依赖,注意该命令的执行目录要在包含poetry的相关文件的目录下执行方可生效
/dify-0.14.2/api$ poetry env use 3.12
/dify-0.14.2/api$ poetry install

PS:使用poetry env use 3.12这条命令如果抛出以下异常:
在这里插入图片描述
解决方法

  1. 执行pip list 看下是否有安装,没有的话pip install安装
  2. 执行which poetry 看下poetry安装目录,若是不在/usr/bin下那便带上对应路径去执行
  3. 如果还是报错,比如可能会出现msgpack等依赖包没有找到问题,那就重新安装poetry吧

数据库迁移

/dify-0.14.2/api$ poetry shell
/dify-0.14.2/api$ poetry run python -m flask db upgrade

启动API

 /dify-0.14.2/api$ poetry run python -m flask run --host 0.0.0.0 --port=5001 --debug

启动Worker服务

#Linux/MacOS:
/api $ celery -A app.celery worker -P gevent -c 1 -Q dataset,generation,mail,ops_trace --loglevel INFO
#Windows:
/api $ celery -A app.celery worker -P solo --without-gossip --without-mingle -Q dataset,generation,mail,ops_trace --loglevel INFO

前端Web部署

环境:NodeJS 1.8.x(LTS)、NPM8.x+

  • 进入web目录
/dify-0.14.2/$ cd web
  • 备份配置文件
/dify-0.14.2/web$ cp .env.example .env
  • 安装依赖包
/dify-0.14.2/web$ npm install
  • 构建代码
/dify-0.14.2/web$ npm run build
  • 启动web
 /dify-0.14.2/web$ npm run start 

PS:若是npm run start中cp命令出错了,删掉cp命令操作,手动拷贝文件到对应目录下即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值