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

相关推荐
油炸小波3 天前
02-AI应用开发平台Dify
人工智能·python·dify·coze
油炸小波6 天前
Dify安装部署
dify
uncle_ll7 天前
RAG系统中的文本分块技术:从基础策略到智能分块的深度解析
llm·agent·dify·rag
打小就很皮...7 天前
基于 Dify 实现 AI 流式对话:组件设计思路(React)
前端·react.js·dify·流式对话
Orange_sparkle12 天前
关于dify中http节点下载文件时,文件名不为原始文件名问题解决
人工智能·http·chatgpt·dify
寒冰大叔13 天前
Dify 添加 Google cloud 模型供应商
googlecloud·dify·gemini
TGITCIC13 天前
第1课-通过DIFY实现一个完整的Text2Sql来讲AI原生及Agentic RAG长什么样
text2sql·dify·ai-native·chatbi·rag增强检索·agentic rag
Alfred king16 天前
Dify chat模型streaming转为文字解决方案
低代码·agent·dify
一马平川的大草原20 天前
基于n8n实现数据库多表数据同步
数据库·数据同步·dify·n8n
菩提树下的杨过20 天前
dify+LLM+echarts打造智能可视化数据分析AI助手
echarts·dify