Dify 怎么安装:Docker Compose 部署步骤与常见卡点
Dify 是开源自托管 AI 应用平台,可用于搭建工作流、智能体和聊天应用。
Dify 官方在 2026 年 10 月 29 日更新了部署文档,把 Docker Compose、源码运行、Kubernetes 和宝塔面板等路径集中到同一入口。现在正适合重新梳理安装流程:多数用户只需要 Docker Compose,源码部署主要面向准备修改平台代码的人,而云端版本则不需要本地安装。
先选对安装方式
Dify 官方文档首页把运行方式分为 Dify Cloud 与 Self-Host。前者由官方托管,含免费 Sandbox,不需要在电脑上安装;后者是开源 Community Edition,需要在自己的服务器或电脑上运行。
| 运行方式 | 适合谁 | 本地准备 | 后续维护 |
|---|---|---|---|
| Dify Cloud | 想先试用、不想运维服务器 | 无 | 使用官方托管服务 |
| Docker Compose | 大多数自托管用户 | Docker、Docker Compose、可用磁盘 | 自行升级与备份 |
| 源码运行 | 需要修改或调试 Dify 平台代码 | Docker、Compose、Git 及开发工具链 | 需要自行处理依赖与构建 |
| Kubernetes | 企业生产环境 | Kubernetes 集群及相应部署配置 | 由集群负责调度和扩缩容 |
这是按官方部署入口做的适用性对照,不是性能排名。只为使用 Dify 搭建应用时,直接选 Docker Compose;需要改平台源码时再进入部署 Dify;只是想立即体验,则直接访问 Dify Cloud。
费用也要分开看:Community Edition 的代码可以自行部署,但调用模型 API、提供向量存储或使用云端增值能力时,仍可能产生对应服务费用。
部署前检查这三项
-
安装 Docker,并确认引擎正在运行。 在 macOS 或 Linux 上安装 Docker Engine;macOS 使用 Docker Desktop。执行
docker version,能同时看到 Client 和 Server,才说明客户端已连接到 Docker 引擎。 -
确认 Compose 可用。 执行:
docker compose version
如果这里提示 docker compose 不可用,说明当前安装缺少 Compose 插件或命令格式不同。旧版 Compose 可能使用 docker-compose,不要同时照抄两套命令,应先以本机版本输出为准。
- 准备访问地址和空闲端口。 默认安装通过浏览器访问
http://localhost/install完成初始化。提前确认常用端口没有被其他程序占用;如果本机已经运行过 Dify,先执行docker compose ps查看已有容器状态。
官方源码部署文档给出的最低系统要求是 2 核 CPU、4 GiB 内存;macOS 需使用 macOS 10.14 或更高版本,Docker Desktop 的虚拟机至少分配 2 个 vCPU 和 8 GB 初始内存。详见本地源码运行说明。
按这四步完成 Docker Compose 安装
1. 获取部署文件
在终端进入准备存放 Dify 的目录,然后执行:
git clone https://github.com/langgenius/dify.git
cd dify/docker
这一步下载的是官方 Dify GitHub 仓库。如果提示 git: command not found,先安装 Git;如果下载卡住,检查 GitHub 仓库是否能够正常打开,并改用稳定网络重试。
2. 创建环境变量文件
cp .env.example .env
.env 是 Docker Compose 读取环境变量的配置文件。复制后不要直接改文件名,也不要把包含密钥的 .env 上传到公开仓库。首次体验可先保留默认配置;需要修改数据库、存储、模型服务或访问限制时,再编辑 .env 中对应变量。
3. 启动全部服务
docker compose up -d
-d 表示让容器在后台运行。首次启动需要拉取镜像并初始化数据库、向量数据库和各个应用服务,等待时间取决于网络与机器性能。命令返回后不要立刻反复重启,继续查看容器状态。
4. 检查服务并打开初始化页
docker compose ps
重点看服务是否处于运行或健康状态,不要只看容器名称已经出现。随后在浏览器打开:
http://localhost/install
页面应出现创建管理员账号的初始化界面。填写邮箱、用户名和密码后进入 Dify 主界面,再到设置中配置模型供应商,并创建第一个聊天应用。服务器部署时,应把 localhost 换成服务器 IP 或域名,同时检查反向代理、防火墙和 HTTPS 配置。
启动失败时先看这三个位置
容器反复退出
先执行:
docker compose ps
docker compose logs --tail=100
docker compose ps 用于查看容器当前状态和退出情况;docker compose logs --tail=100 会显示末尾 100 行日志。优先寻找包含 failed、exited、unhealthy 或 permission denied 的行,并记录它前面第一次出现的错误。第一处异常通常才是根因,后面的容器退出可能只是连锁反应。
如果是内存不足导致服务退出,应先释放内存,并按照本地源码文档预留足够资源,再重新运行 docker compose up -d。不要只重复启动;内存、磁盘或端口问题不解决,容器仍会再次退出。
页面打不开
先确认浏览器访问的地址与端口是否和 .env 一致,然后执行 docker compose ps。容器正常运行但页面无法连接时,依次检查:
- 本机访问是否使用
http://localhost/install; - 服务器访问是否使用实际 IP 或域名;
- 防火墙是否放行对应端口;
- 反向代理是否把请求转发到正确的容器端口;
- 配置了 HTTPS 时,证书和代理头是否正确。
如果页面能打开但初始化失败,在浏览器开发者工具中查看失败请求的状态码,再结合对应服务日志定位。仍无法判断时,把完整日志和 docker compose ps 输出整理后提交到Dify 官方 Issues,不要只提交最后一行错误。
启动成功但模型不可用
Dify 能打开不代表模型已经接通。进入“设置 → 模型供应商”,填写对应供应商的 API Key、接口地址和模型名称,然后执行一次模型对话测试。API Key 属于敏感信息,不要贴进公开 Issue。
若工作流报模型不可用,先在模型供应商设置中测试单模型,再检查工作流引用的模型是否被删除、停用或改名。这里应先修模型连接,再调工作流,否则反复修改提示词通常不会解决连接错误。
怎么确认安装成功
完成后应同时观察到三项结果:
docker compose ps中核心服务显示为运行或健康状态,而不是持续Exited;- 浏览器打开
http://localhost/install能看到初始化页面,完成后可以进入工作区; - 在模型供应商页面完成连接测试,并成功创建、预览和发布一个应用。
如果只看到 Docker 镜像已下载,不能据此判断安装完成;容器启动、Web 页面可访问、模型可调用是三个不同检查点。
升级、备份与官方入口
升级前先备份 .env 和持久化数据目录,再获取仓库的新版本并重新启动服务。不要只替换部分容器,因为数据库迁移和应用代码可能需要保持同一版本。具体升级与备份方式应以当前仓库中的 Compose 文件和部署文档为准。
Dify 的持续更新入口包括官方文档中心、官方文档索引和GitHub 仓库。遇到启动、Docker 或集成问题时,优先搜索仓库 Issues;需要向官方确认部署状态时,在 Issue 中附上操作系统、Docker 版本、失败命令和经过脱敏的日志,避免提交密码、API Key 或其他密钥。
参考来源
评论区
登录后可评论。