Dify 自托管部署指南

Dify 是一个开源的 LLM 应用开发平台,提供直观的界面和强大的 API,帮助开发者快速构建、部署和管理基于大语言模型的应用。


一、功能特性

  • 对话应用:创建聊天机器人、客服系统等对话式应用
  • 工作流:可视化编排复杂的 AI 工作流程
  • 知识库:管理和检索文档、数据等知识资源
  • 模型管理:支持多种大语言模型(GPT、Claude、文心一言等)
  • API 接口:提供 RESTful API,方便集成到其他系统
  • 用户管理:支持多租户、角色权限管理

二、系统要求

资源最低要求推荐配置
CPU2 核4 核及以上
内存4GB8GB 或 16GB(处理大规模文档时)
磁盘20GB50GB SSD
Docker≥ 20.10≥ 24.0

三、快速部署

1. 安装依赖

确保已安装以下工具:

  • Docker:Windows/macOS 下载 Docker Desktop,Linux 使用系统包管理器安装
  • Git:确保 Git 已安装

2. 克隆源码

git clone https://github.com/langgenius/dify.git
cd dify/docker

3. 复制配置文件

cp .env.example .env

4. 启动容器

docker compose up -d

首次运行会自动拉取镜像,耗时约 5~20 分钟(取决于网络速度)。

5. 访问页面

浏览器打开 http://localhost(或你修改的端口),首次进入需设置管理员账号。


四、配置说明

环境变量(.env)

变量名说明默认值
EXPOSE_NGINX_PORTNginx 暴露端口80
POSTGRES_PASSWORDPostgreSQL 密码随机生成
REDIS_PASSWORDRedis 密码随机生成
SECRET_KEY应用密钥随机生成

修改端口

如果 80 端口被占用,修改 .env 文件:

EXPOSE_NGINX_PORT=8088

修改数据存储路径

默认 Docker 数据存放在系统盘(通常是 C 盘),建议修改到其他容量更大的磁盘:

  • Docker Desktop:Settings → Resources → Advanced → 修改数据存储路径
  • Linux:修改 Docker daemon 配置 /etc/docker/daemon.json

五、国内环境优化

配置镜像加速

在 Docker Desktop 设置中添加国内镜像源:

{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://mirror.baidubce.com"
  ]
}

插件安装

安装大模型插件时网络要求较高,建议开启代理等待插件日志显示 Running 后再关闭。


六、架构概述

Dify 包含以下核心组件:

组件说明
api后端 API 服务,处理业务逻辑
worker异步任务处理器,处理文档解析、模型调用等
frontend前端页面,提供用户交互界面
postgres关系型数据库,存储应用数据
redis缓存和消息队列
nginx反向代理,统一入口

七、常见问题排查

容器启动失败

查看容器日志:

docker compose logs <container_name>

端口冲突

确认端口被哪个进程占用:

# Linux/macOS
lsof -i :80

# Windows
netstat -ano | findstr ":80"

数据库连接失败

检查 .env 文件中的数据库配置,确保 POSTGRES_PASSWORDREDIS_PASSWORD 正确。

插件安装超时

开启网络代理后重试,或手动下载插件镜像。


八、Langfuse 集成

Dify 支持与 Langfuse 集成,实现调用追踪和性能分析:

  1. 部署 Langfuse 并获取 API Key
  2. 在 Dify 工作流中点击「监测」→ 选择「Langfuse」
  3. 配置 public_keysecret_keyhost
  4. 验证连接成功后,所有工作流调用将被追踪到 Langfuse

详情参考 Langfuse 说明文档


九、参考链接

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐