【详细教程】如何在Ubuntu上本地部署Dify?

1 关于Dify

  • Dify 是一个开源的大语言模型(LLM)应用开发平台;
  • 可以简化和加速生成式AI应用的创建和部署;
  • 为开发者提供低代码/无代码的解决方案,同时支持高级定制化需求。

2 Dify核心功能

  • 多模型支持:

① 支持主流商业模型 (如 OpenAI GPT、Claude、DeepSeek、ChatGLM 等)及开源模型(如 Llama、Mistral); ② 提供 模型管理 功能,支持快速切换和自定义接入。

  • 应用类型:

聊天助手 :多轮对话交互(如客服机器人); 文本生成 :自动化创作、翻译、摘要等; Agent :任务分解、工具调用(如数据分析、API 集成); 工作流:可视化编排复杂流程(如条件分支、多节点任务)。

  • 关键技术组件:

RAG(检索增强生成): ① 支持文档上传、分块、向量化索引(如 PDF、Notion 同步) ; ② 提供混合检索(向量+全文搜索)和重排序优化。

Agent 框架: ① 支持 Function Calling 和 ReAct 推理模式,集成工具(如搜索、代码执行)。

  • 低代码开发:

① 通过可视化界面编排 Prompt、上下文和插件,无需深入编码; ② 提供模块化设计,如拖拽式工作流构建。

3 访问和使用

  • 可自行查阅Dify文档,这里不赘述

4 dify部署

  • 在 Ubuntu 上本地部署 Dify 可以按照多种方式,以下是通过 Docker Compose 进行部署的步骤,这是官方推荐的简单部署方式:

4.1 前提条件

  • 确保已安装 Docker 和 Docker Compose;
  • 推荐配置:2GB 以上内存,4 核 CPU。

4.2 安装 Docker 和 Docker Compose

python 复制代码
# 安装Docker
sudo apt update
sudo apt install -y docker.io

# 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker

# 安装Docker Compose
sudo apt install -y docker-compose

# 将当前用户添加到docker组(避免每次使用sudo)
sudo usermod -aG docker $USER

4.3 获取 Dify 源码

python 复制代码
# 克隆Dify仓库
git clone https://github.com/langgenius/dify.git

4.4 配置环境变量

  • 进入到如下目录:
python 复制代码
cd dify/docker
python 复制代码
# 复制环境变量示例文件
cp .env.example .env

4.5 docker卸载

如果需要,请卸载,如果不需要请跳过。

python 复制代码
# 卸载现有Docker
sudo apt purge -y docker.io docker-compose
sudo rm -rf /var/lib/docker /var/lib/containerd

4.6 docker安装

4.6.1 docker安装

python 复制代码
# 重新安装
sudo apt update
sudo apt install -y docker.io docker-compose

# 启动服务
sudo systemctl start containerd
sudo systemctl start docker

# 将当前用户添加到docker组(避免每次使用sudo)
sudo usermod -aG docker $USER

4.6.2 docker镜像源修改

  • 打开 Docker 的配置文件:
python 复制代码
sudo vim /etc/docker/daemon.json
  • 添加镜像加速配置(推荐使用多个):
python 复制代码
{
  "registry-mirrors": [
    "https://docker.xuanyuan.me",
    "https://docker.1ms.run"
  ]
}
  • 重启 Docker 服务:
python 复制代码
sudo systemctl daemon-reload
sudo systemctl restart docker
  • 验证是否生效:
python 复制代码
docker info | grep -A 10 -i registry

4.6.3 docker仍无法启动排查

  • 执行以下命令清理可能遗留的 PID 文件:
python 复制代码
sudo pkill dockerd
sudo rm -f /var/run/docker.pid
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl restart docker

检查是否有镜像路径写死在 docker-compose.yaml 文件中; 使用 sed 批量替换镜像地址(仅适用于明文配置):

python 复制代码
sed -i 's#registry-1.docker.io#docker.xuanyuan.me#g' docker-compose.yaml
  • 测试镜像源是否能访问:
python 复制代码
docker pull docker.xuanyuan.me/library/redis:6-alpine
docker pull docker.1ms.run/library/nginx:alpine

4.6.4 常见国内镜像源

玄元云、 1ms、 阿里云、 清华大学、 中科大

4.7 启动服务

python 复制代码
# 启动所有服务
docker-compose up -d

# 查看服务状态
docker-compose ps

5 访问 Dify

6 初始化管理员账号

  • 首次访问时,系统会引导创建管理员账号,按照提示完成设置即可。

常用命令: 停止服务:docker-compose down 查看日志:docker-compose logs -f 重启服务:docker-compose restart

相关推荐
AI医影跨模态组学5 分钟前
如何将纵向MRI深度学习特征与局部晚期直肠癌新辅助放化疗后的免疫微环境建立关联,并解释其对pCR及预后的机制
人工智能·深度学习·论文·医学·医学影像·影像组学
Empty-Filled6 分钟前
AI生成测试用例功能怎么测:一个完整实战案例
网络·人工智能·测试用例
eastyuxiao7 分钟前
设计一个基于 OpenClaw 的 AI 智能体来辅助交易
人工智能
波动几何37 分钟前
因果动力学架构技能cda
人工智能
Lucas_coding39 分钟前
【Claude Code Router】 Claude Code 兼容 OpenAI 格式 API, Claude code 接入本地部署模型
人工智能·python
jinanwuhuaguo41 分钟前
(第二十七篇)OpenClaw四月的演化风暴:OpenClaw 2026年4月全版本更新的文明级解读
大数据·人工智能·架构·kotlin·openclaw
测试员周周43 分钟前
【AI测试系统】第5篇:从 Archon 看 AI 工程化落地:为什么"确定性编排+AI 弹性智能"是终局?
人工智能·python·测试
RxGc1 小时前
微软AI Agent框架深度测评:Microsoft Agent Framework 1.0 vs OpenClaw/Claude企业级能力对比
人工智能·agent
随便写写1 小时前
第四章 智能体经典范式构建
人工智能
穿过生命散发芬芳1 小时前
基于CodeBuddy Agent智能体平台构建自己第一个SKILL——相机推荐
人工智能