【详细教程】如何在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技术3 分钟前
阿里云 EMR Serverless StarRocks(Stella 2.2.0) 发布:内表与湖表同时支持向量、全文与 AI Function,一条 SQL 完成多模态检索
人工智能
格林威4 分钟前
工业相机Chunk功能全解析:图像嵌入时间戳、编码器元数据(附堡盟C#代码)
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
怪奇云呼军9 分钟前
闪电智能Voice Agent:ASR 首字延迟和最终识别延迟怎么测?t0-t3 埋点实战
人工智能·科技·ai·语音识别
冬哥聊AI15 分钟前
百万行代码里跑Claude Code?三面这题80%的人答不上来
人工智能
甄同学16 分钟前
第二十三篇:Tasks系统,Claude Code如何统一管理7种后台任务
人工智能
独隅18 分钟前
IntelliJ IDEA 接入多种AI大模型插件终极指南(2026.1 企业合规版)
java·人工智能·intellij-idea
有Li22 分钟前
EvoMDT:用于多癌种结构化临床决策的自进化多智能体系统文献速递/医学智能体前沿
人工智能·学习·分类·文献·医学生
小刘BlandNew32 分钟前
AI核心概念大串联
人工智能
墨染天姬35 分钟前
【AI】自驱动智能体
人工智能
D2aZXN3FhrDa7e2121 小时前
佛山乐从低预算实体店如何选择?看美诚AI自动化获客方案
运维·人工智能·自动化·佛山美诚科技有限公司