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)支持,确保系统的持久存储、缓存和向量数据库的完整功能。

相关推荐
XLYcmy2 天前
PDF论文处理器 - 功能总结
数据库·python·pdf·csv·pymupdf·dify·文本分割
鱼日先生3 天前
Dify 企业级实验(04):性能优化实战——长流程从 60 秒到秒回有哪些手段?
人工智能·工作流·dify·ai agent·大模型应用·ai 训练
鱼日先生4 天前
Dify 中级实验(17):调试监控与性能优化——响应慢和 Token 超支如何定位?
工作流·dify·ai agent·大模型应用·ai 训练
鱼日先生4 天前
Dify 高级实验(09):测试用例生成——如何让 AI 自动产出测试用例?
人工智能·测试用例·工作流·dify·ai agent·大模型应用·ai 训练
鱼日先生4 天前
Dify 企业级实验(03):事件驱动流水线——Webhook 与定时触发如何组成异步处理链?
人工智能·工作流·dify·ai agent·大模型应用·ai 训练
XLYcmy4 天前
pdf论文处理:CSV输出模式
数据库·python·pycharm·pdf·论文·csv·dify
鱼日先生5 天前
办公聊天软件接入 Hermes Agent 实录(一):企业微信 WebSocket 长连接 + Dify 知识库问答
企业微信·dify·ai agent·大模型应用·hermes agent
独码侠6 天前
Dify 知识库索引(中):打开源码,拆穿关于“经济索引”的三个谣言
后端·python·django·embedding·知识库·索引·dify
鱼日先生9 天前
Dify 中级实验(13):多 Agent 协作——如何编排多个智能体分工干活?
工作流·dify·ai agent·大模型应用·ai 训练
鱼日先生9 天前
Dify 中级实验(14):对话变量与状态管理——如何让工作流记住多轮对话的状态?
工作流·dify·ai agent·大模型应用·ai 训练