Dify 开源版源代码本地部署指南
本文介绍如何在本地通过源代码部署 Dify 开源版。步骤包括准备硬件环境、安装 Docker 和 Git、克隆仓库、配置 Python 虚拟环境及依赖、初始化数据库、分别启动 API 服务、Worker 服务和 Web 前端服务。最后演示了管理员账户注册及常见后台报错的排查方法,帮助开发者快速搭建本地 Dify 开发或测试环境。

本文介绍如何在本地通过源代码部署 Dify 开源版。步骤包括准备硬件环境、安装 Docker 和 Git、克隆仓库、配置 Python 虚拟环境及依赖、初始化数据库、分别启动 API 服务、Worker 服务和 Web 前端服务。最后演示了管理员账户注册及常见后台报错的排查方法,帮助开发者快速搭建本地 Dify 开发或测试环境。

在安装 Dify 之前,请确保您的设备符合以下最低系统要求:

git remote add dify https://gitee.com/dify_ai/dify.git

git remote -v

获取 Dify 远程仓库的所有信息(包括 tags),这会从远程仓库下载所有 tag 和对应的提交历史。
git fetch --tags

查看可用的 tag 列表,退出输入 q
git tag -l

完整克隆 Dify 代码
git clone https://github.com/langgenius/dify.git
切换到 Dify 代码目录
cd dify

然后创建基于 tag 的分支
# git checkout tags/<tag_name> -b <new_branch_name>
git checkout tags/1.4.3 -b dify-1.4.3
需要 Python 3.12
conda create --name dify python=3.12

conda env list

导航到 api 目录
cd api

准备环境变量配置文件
cp .env.example .env

生成随机密钥并替换 .env 文件中的 SECRET_KEY 值
awk -v key="$(openssl rand -base64 42)"'/^SECRET_KEY=/ {sub(/=.*/, "=" key)} 1' .env > temp_env &&mv temp_env .env

使用 VSCode 打开 Dify 项目,选择 dify 虚拟环境

使用 uv 管理依赖,安装 uv
pip install uv

通过运行以下命令使用 uv 安装所需依赖
uv sync

在 PostgreSQL 数据库创建 dify 库

执行数据库迁移到最新版本
uv run flask db upgrade

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

要从队列中消费异步任务,例如数据集文件导入和数据集文档更新,请按照以下步骤启动 Worker 服务
uv run celery -A app.celery worker -P gevent -c 1 --loglevel INFO -Q dataset,generation,mail,ops_trace
新建终端,安装 python-magic 的 Windows 兼容版本
# 进入 api 目录
cd api
# 安装依赖
pip install python-magic-bin

启动 Worker 服务请使用以下命令:
uv run celery -A app.celery worker -P solo --without-gossip --without-mingle -Q dataset,generation,mail,ops_trace --loglevel INFO
预期输出:

启动用于前端页面的 web 服务。
要启动 web 前端服务,需要 Node.js v22 (LTS) 和 PNPM v10。
新建终端,进入 web 目录
cd web

安装依赖
pnpm install

准备环境变量配置文件:在当前目录中创建一个名为 .env.local 的文件,并从 .env.example 复制内容。根据您的需求修改这些环境变量的值:

启动 web 服务
pnpm run dev

通过浏览器访问 http://127.0.0.1:3000 即可享受 Dify 所有激动人心的功能

控制台日志输出:

注册管理员账户

注册成功后登录

登录成功


在本地部署 Dify 时,其核心模块尝试与插件守护进程(Plugin Daemon Service)通信失败
请参考官方文档或社区资源解决插件守护进程问题。
API 服务端控制台输出不再报获取插件的错误


微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online