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.生成随机密钥,并替换 .env 中 SECRET_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)支持,确保系统的持久存储、缓存和向量数据库的完整功能。

相关推荐
Blockbuater_drug8 天前
Dify 1.18 本地部署实战:Windows + WSL2 + Docker,从零跑到本地可用
windows·docker·容器·dify·大模型应用平台
一木 之林10 天前
Dify学习笔记 03 · RAG检索增强生成:三代范式、评估与落地(第40-45、55-56集)
笔记·小程序·交互·dify
噜哥带你玩转 AI 大模型10 天前
从 “if-else“ 到 Agent:Dify 进阶实战,让 AI 自己判断、自己调工具
agent·工作流·dify·多轮对话·httpapi
一木 之林10 天前
Dify学习笔记 04 · 检索底座:Embedding、Rerank与向量数据库(第46-54集)
笔记·学习·embedding·dify
毒爪的小新10 天前
最新 Dify 1.14.0+ 内网离线插件打包、部署完整踩坑方案(解决 uv.lock 依赖校验失败)
运维·ai·uv·dify
死磕音视频13 天前
Dify 入门:用 Docker 自部署并搭建知识库问答助手
docker·知识库·dify·大模型应用
情 九14 天前
Dify 任务提交幂等实战:避免重复点击与网络重试创建重复任务
dify
一级新生16 天前
提示词工程:跟 AI 打交道的手艺
人工智能·大模型·dify·1024程序员节·提示词工程
情 九17 天前
Dify SSE 流式调用实战:执行进度、运行 ID 与断线核实
dify
一级新生17 天前
Dify 接入大模型:本地还是云端?实战与选型
人工智能·大模型·dify·ollama