当前位置: 首页 > news >正文

Dify 本地部署指南

一、前置条件

Clone Dify 代码:

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

在启用业务服务之前,我们需要先部署 PostgresSQL / Redis / Weaviate(如果本地没有的话),可以通过以下命令启动:

cd docker
cp middleware.env.example middleware.env
docker compose -f docker-compose.middleware.yaml up -d

二、后端启动(源码启动)

 1.进入后端目录api

cd api

2.复制环境变量配置文件

cp .env.example .env

3.生成随机密钥,并替换 .envSECRET_KEY 的值

awk -v key="$(openssl rand -base64 42)" '/^SECRET_KEY=/ {sub(/=.*/, "=" key)} 1' .env > temp_env && mv temp_env .env

4.安装依赖包

Dify API 服务使用 Poetry 来管理依赖。您可以执行 poetry shell 来激活环境。

poetry env use 3.10
poetry install

5.执行数据库迁移,将数据库结构迁移至最新版本

poetry shell
flask db upgrade

6.启动 API 服务

flask run --host 0.0.0.0 --port=5001 --debug

三、后端启动(docker) 

1、进入api目录运行docker构建脚本

docker build -t dify-api . 

2、运行docker镜像

docker run --name dify-api -p 5001:5001 -d dify-api

四、前端启动(源码启动)

1、进入web目录

2、运行npm install

3、运行npm run start

五、前端启动(docker启动)

1、与源码步骤一致

2、运行npm run build

3、运行docker构建命令

docker build -t dify-web . 

4、运行docker镜像

docker run --name dify-web -p 3000:3000 -d dify-web

以上流程完成后,Dify 的后端 API 将在 http://localhost:5001 提供服务,前端界面则在 http://localhost:3000 可访问。

总结

完成以上步骤后,Dify 的部署分为后端 API 服务和前端界面两部分:

  • 后端 API:在 http://localhost:5001 提供数据和业务逻辑支持。
  • 前端界面:在 http://localhost:3000 提供用户交互界面。

可根据实际需求选择源码或 Docker 启动方式。通过本地启动的中间件服务(PostgresSQL、Redis 和 Weaviate)支持,确保系统的持久存储、缓存和向量数据库的完整功能。

http://www.lryc.cn/news/479700.html

相关文章:

  • 15分钟学 Go 第 38 天:数据库基础
  • 【Python】图片处理
  • 面相小白的php反序列化漏洞原理剖析
  • 文本转SQL(Text-to-SQL),场景介绍与 Spring AI 实现
  • 科研绘图系列:R语言组合堆积图(stacked plot)
  • YOLOv11及自研模型更新汇总
  • 系统安全架构
  • Qt(程序打包)
  • 牛客sql题目总结(1)
  • RocketMQ 自动注入消费者
  • RibbitMQ-安装
  • 非计算机背景但是想从事医学AI研究,需要掌握的编程语言|个人观点·24-11-08
  • 内置函数【MySQL】
  • RNA-seq 差异分析的点点滴滴(1)
  • Windows10/11开启卓越性能模式 windows开启卓越性能电源模式 工作电脑开启卓越性能模式 电脑开启性能模式
  • day20-21之间的项目实战:若依ruoyi开发(可以跳过)
  • 双向链表及如何使用GLib的GList实现双向链表
  • ProCalun卡伦纯天然万用膏,全家的皮肤健康守护
  • FastAPI全方位分析:优劣尽显
  • 【rust】rust基础代码案例
  • 【深度学习】PromptFix:多功能AI修图
  • 2024最新AI绘画系统软件(Midjourney)+GPT4文档分析总结,多模态识图理解,AI文生图/图生图/混图生图(图像混合)
  • 【信号处理】基于联合图像表示的深度学习卷积神经网络
  • C#基础-区分数组与集合
  • ORACLE 19C 安装数据库补丁的详细过程
  • tensorflow案例5--基于改进VGG16模型的马铃薯识别,准确率提升0.6%,计算量降低78.07%
  • 代码中的设计模式-策略模式
  • 后端Node学习项目-项目基础搭建
  • Python | Leetcode Python题解之第538题把二叉搜索树转换为累加树
  • 【ZeroMQ 】ZeroMQ中inproc优势有哪些?与其它传输协议有哪些不同?