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

Windows 平台源码部署 Dify教程(不依赖 Docker)

Windows 平台源码部署 Dify 实操教程(不依赖 Docker)

🚫 适用于v0.x开头的版本,本实例以v0.15.4 版本为例,不支持 1.x.x+ 版本
✅ 本文手把手教你如何在 Windows 上从源码部署 Dify,无需 Docker,适合对系统控制力要求较高的开发者或运维人员。


1 为什么选择部署 0.15.4 而不是最新版?

1.1 最新版 Dify 的部署难点

从 Dify v1.x.x 版本开始,引入了插件服务 plugin-daemon,此服务基于 Go 编写,并需单独编译、运行。由于该服务设计为在 Linux/Docker 环境中运行:

  • ❌ Windows 原生环境运行 plugin-daemon 复杂,需要本地配置 Go 环境并手动编译。
  • ❌ 官方不再提供 Windows 下的非 Docker 部署方式。
  • ❌ 插件服务依赖 Unix Socket,不兼容 Windows。
  • ✅ 推荐部署方式为使用 Docker 或 WSL。

1.2 为什么选择 0.15.4 版本?

  • 无插件服务依赖,源码干净,部署逻辑清晰。
  • ✅ 可在纯 Windows 系统中运行,无需安装 Docker/WSL。
  • ✅ 适合本地调试、二次开发或非正式环境部署。

2 源码准备和环境配置

2.1 克隆 Dify 源码仓库

git clone https://github.com/langgenius/dify.git
cd dify
git checkout tags/v0.15.4

2.1 直接下载对就版本的源码仓库

在这里插入图片描述


3 安装和配置 PostgreSQL 数据库

💡 Dify 依赖 PostgreSQL 数据库。建议使用 PostgreSQL 14 或以上版本。

3.1 下载 PostgreSQL

前往官网下载安装:
👉 https://www.postgresql.org/download/windows/

3.2 安装 PostgreSQL

安装时记得:

  • 记下用户名和密码(例如:postgres / your_password
  • 端口一般默认为 5432
  • 安装完成后可以用 pgAdmin GUI 工具管理数据库

3.3 创建数据库

  1. 使用 pgAdmin 或命令行连接 PostgreSQL
  2. 创建数据库 dify
CREATE DATABASE dify;

在这里插入图片描述


4 后端服务部署(API)

4.1 配置 Python 环境

Dify 使用 Poetry 管理依赖。

  1. 安装 Python 3.12(建议使用 官方安装器)
  2. 安装 Poetry:
pip install poetry

验证安装:

poetry --version

4.2 复制环境文件

cd api
copy .env.example .env

4.3 配置 SECRET_KEY

打开 .env 文件,将 SECRET_KEY 修改为任意 42 字符的字符串。例如使用 Python 生成:

import base64, os
print(base64.b64encode(os.urandom(32)).decode())

然后复制输出内容替换 .env 中的 SECRET_KEY=...

4.4 设置数据库连接

.env 中找到:

DATABASE_URL=postgresql+psycopg2://user:password@localhost:5432/dify

将其改为你自己的 PostgreSQL 用户名、密码。

4.5 安装依赖并初始化环境

poetry env use python3.12
poetry install

4.6 数据库迁移

python -m flask db upgrade

数据库迁移结果完成有73张表,查看数据库表状况,如下图:
在这里插入图片描述

4.7 启动后端服务

poetry run python -m flask run --host 0.0.0.0 --port=5001```

在这里插入图片描述


5 启动异步任务 Worker(可选)

异步任务处理如数据集导入、索引等操作:

python -m celery -A app.celery worker -P gevent -c 1 --loglevel INFO -Q dataset,generation,mail,ops_trace,app_deletion

在这里插入图片描述


6 前端部署(WEB)

6.1 安装 Node.js 和 依赖

下载 LTS 版 Node.js:https://nodejs.org/en/download
这里需要V20以上的版本,不然可能会报各种错.

6.2 安装前端依赖

cd ../web
npm install

6.3 配置环境变量

copy .env.example .env.local

修改 .env.local 文件中的以下内容:

NEXT_PUBLIC_API_PREFIX=http://localhost:5001/console/api
NEXT_PUBLIC_PUBLIC_API_PREFIX=http://localhost:5001/api

其余保持默认即可。

6.4 启动前端开发服务

npm run dev

在这里插入图片描述

访问浏览器:http://localhost:3000
在这里插入图片描述
在这里插入图片描述


7 总结与后续建议

7.1 成功部署标志

  • http://localhost:3000 可访问控制台界面
  • 后端 5001 接口返回数据正常
  • 可通过控制台添加 API Keys、模型等操作

7.2 后续可选配置

  • ✅ 使用 Nginx 做反向代理,实现正式部署
  • ✅ 配置 https、域名访问
  • ✅ 前后端打包运行在生产环境

7.3 推荐使用场景

  • 本地测试或定制开发
  • 想深入了解 Dify 原理的开发者
  • 不愿意安装 Docker / WSL 的开发环境

8 附录:问题排查

问题可能原因解决方案
后端报错连接数据库失败数据库配置不正确检查 .env 中的 DATABASE_URL
启动 Celery 报错找不到 geventgevent 未安装poetry install 后自动安装
前端访问 5001 报跨域错误没有设置允许跨域修改 Flask 后端添加 CORS 支持

📝 如需将 plugin-daemon 手动运行于 Windows,需要额外配置 Go 环境,建议使用 Linux 或 Docker 方式更为稳妥。

http://www.xdnf.cn/news/16286.html

相关文章:

  • 手写PPO_clip(FrozenLake环境)
  • 【LeetCode 热题 100】79. 单词搜索——回溯
  • 电子电气架构 --- 车载软件交样评审流程
  • Java面试题及详细答案120道之(041-060)
  • 排序算法,咕咕咕
  • 进制定义与转换详解
  • vcpkg如何交叉编译
  • HCLP--MGER综合实验
  • 数据结构习题--删除排序数组中的重复项
  • 详解力扣高频SQL50题之1084. 销售分析 III【简单】
  • Python点阵字生成与优化:从基础实现到高级渲染技术
  • 数据恢复与备份
  • 快速入门Linux操作系统(一)
  • 立式加工中心X-Y轴传动机械结构设“cad【6张】三维图+设计说明书
  • 进阶数据结构:用红黑树实现封装map和set
  • 学习嵌入式的第三十一天-数据结构-(2025.7.23)网络协议封装
  • 数据中心-时序数据库InfluxDB
  • 掌握Gemini-2.5:现代AI开发中实用应用的综合指南
  • 二次函数图像动画展示
  • 在Power Automate Desktop中执行PowerShell获取SharePoint online某个文件夹的用户权限列表
  • excel删除重复项场景
  • 算法竞赛阶段二-数据结构(35)数据结构单链表模拟实现
  • Node.js 模拟 Linux 环境
  • 【每天一个知识点】GAN(生成对抗网络,Generative Adversarial Network)
  • Whisper语音转文字
  • 【洛谷】单向链表、队列安排、约瑟夫问题(list相关算法题)
  • 互联网应用主流框架整合 Spring Boot开发
  • Linux DNS 服务器正反向解析
  • 【IMMCKF】基于容积卡尔曼滤波(CKF)的多模型交互的定位程序,模型为CV和CT,三维环境,matlab代码|附下载链接
  • Nestjs框架: 基于Mongodb的多租户功能集成和优化