上一篇 下一篇 分享链接 返回 返回顶部

2026 自建 Dify 实战指南:从 Docker 部署到生产环境上线

发布人:慈云数据-客服中心 发布时间:7小时前 阅读量:1

Dify 部署完整教程|2026最新版

本文面向 想要自建 Dify 的个人开发者、团队、企业技术同学
内容以 Docker Compose 部署 为主,兼顾生产环境配置、域名、HTTPS、数据持久化、常见故障排查与运维建议。
说明:由于我无法验证 2026 年之后的未知版本变化,本文采用的是 截至目前通用且稳定的 Dify 部署方法,在大多数 2026 年环境中依然具备很高参考价值。


一、Dify 是什么?为什么要部署它?

Dify 是一个面向大模型应用开发的平台,核心价值是把 LLM 应用搭建、提示词管理、知识库检索、Agent 编排、工作流、API 发布 这些能力整合到一个产品里,让开发者可以更快构建 AI 应用。

你可以把 Dify 理解为:

  • AI 应用的低代码/半低代码平台
  • 适合内部知识问答、智能客服、AI 助手、企业 Agent、工作流自动化
  • 支持对接 OpenAI、Claude、通义千问、DeepSeek、Azure OpenAI 等模型
  • 支持知识库、RAG、工具调用、插件扩展

如果你不想把数据完全托管在第三方平台,或者你希望:

  • 控制数据安全
  • 自定义模型供应商
  • 内网部署
  • 适配企业权限体系
  • 打通自己的业务系统

那么自建 Dify 是非常合适的选择。


二、部署前的准备工作

在正式部署前,先准备好以下条件。

1. 服务器配置建议

开发/测试环境

  • CPU:2 核以上
  • 内存:4GB 以上
  • 磁盘:30GB 以上
  • 系统:Ubuntu 22.04 / 24.04 推荐

生产环境

  • CPU:4 核以上
  • 内存:8GB 以上起步,建议 16GB+
  • 磁盘:100GB 起步,视知识库和日志增长而定
  • 建议 SSD

2. 软件依赖

建议安装:

  • Docker
  • Docker Compose
  • Git

检查版本:

docker -v
docker compose version
git --version

如果没有安装 Docker,可使用官方安装方式,或通过系统包管理器安装。


三、Dify 的部署方式有哪些?

Dify 常见部署方式有三种:

1. Docker Compose 部署

最常见、最简单、最适合大多数场景。

优点:

  • 安装快
  • 组件齐全
  • 官方文档友好
  • 方便升级和回滚

缺点:

  • 规模很大时扩展性有限
  • 需要你自己处理备份、监控、运维

2. Kubernetes 部署

适合企业级、云原生、高可用场景。

优点:

  • 可扩展性强
  • 适合多副本、高可用
  • 更适合复杂生产环境

缺点:

  • 运维复杂
  • 学习成本高

3. 托管部署 / 云服务

适合不想自己维护基础设施的团队。

优点:

  • 简单
  • 成本可控
  • 省心

缺点:

  • 数据和能力受限
  • 可定制性较弱

本文重点讲 Docker Compose 部署,因为这是最实用、最容易上手的方式。


四、Dify 部署架构说明

Dify 典型会依赖以下组件:

  • Web 前端
  • API 服务
  • Worker 后台任务
  • PostgreSQL:存储业务数据
  • Redis:缓存、队列
  • Vector Database:向量检索,通常是 Weaviate 或其他兼容组件
  • 对象存储:用于存放文件、图片、知识库附件等

理解这套架构很重要,因为后面做排错、备份、扩容时会用到。


五、Linux 服务器初始化建议

以下以 Ubuntu 为例。

1. 更新系统

sudo apt update && sudo apt upgrade -y

2. 安装常用工具

sudo apt install -y git curl vim ufw

3. 安装 Docker

如果你已经安装好 Docker,可跳过。

官方安装后建议验证:

docker run hello-world

4. 安装 Docker Compose

很多新版 Docker 已经内置 docker compose,无需单独安装。

验证:

docker compose version

六、获取 Dify 源码

建议从官方仓库拉取代码。

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

如果你只想使用部署目录,通常需要进入部署相关子目录,具体以仓库结构为准。一般会有 dockerdocker-compose 或类似目录。

你也可以直接下载官方发布包,但 Git 方式更方便后续升级。


七、配置环境变量

Dify 部署前最关键的一步是配置 .env 文件。

通常仓库会提供示例文件,例如:

cp .env.example .env

然后编辑 .env

vim .env

八、核心环境变量怎么配?

下面是常见且重要的配置项,具体名称可能随版本略有不同,但思路一致。

1. 站点访问地址

CONSOLE_API_URL=https://your-domain.com
APP_WEB_URL=https://your-domain.com
SERVICE_API_URL=https://your-domain.com

如果你还在本地测试,可以先写:

http://localhost

但生产环境一定建议使用域名 + HTTPS。

2. 数据库配置

通常是 PostgreSQL:

DB_HOST=postgres
DB_PORT=5432
DB_USERNAME=postgres
DB_PASSWORD=yourpassword
DB_DATABASE=dify

务必修改强密码。

3. Redis 配置

REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=

如果启用了 Redis 密码,也要同步设置。

4. 向量数据库配置

常见示例:

VECTOR_STORE=weaviate

如果你使用其他向量库,按官方支持方式调整即可。

5. 对象存储配置

对象存储用于保存文件、图片、知识库附件等。

你可以选择:

  • 本地存储
  • S3
  • MinIO
  • 其他兼容对象存储

例如使用 MinIO 的思路是:

STORAGE_TYPE=s3
S3_ENDPOINT=http://minio:9000
S3_BUCKET=dify
S3_ACCESS_KEY=your_access_key
S3_SECRET_KEY=your_secret_key
S3_REGION=us-east-1

6. 模型供应商配置

Dify 的核心能力之一是接入模型。

例如 OpenAI 类似配置:

OPENAI_API_KEY=sk-xxxx
OPENAI_API_BASE=https://api.openai.com/v1

如果你使用 DeepSeek、Azure OpenAI、Claude、通义千问等,也可在控制台中配置,或根据官方文档设置相应变量。


九、Docker Compose 一键启动

配置完成后,进入部署目录执行:

docker compose up -d

如果首次启动需要拉取镜像,时间会稍长。

查看容器状态

docker compose ps

查看日志

docker compose logs -f

如果你想看某个服务的日志,例如 API:

docker compose logs -f api

十、初始化数据库与首次访问

Dify 首次启动后,通常需要完成初始化流程,包括:

  • 数据库迁移
  • 创建管理员账号
  • 配置基础参数

一般浏览器访问你的域名或本地地址即可进入初始化页面。

例如:

http://你的服务器IP

https://your-domain.com

第一次进入时,按页面提示注册管理员账号即可。


十一、域名绑定与 Nginx 反向代理

生产环境下,强烈建议不要直接暴露容器端口,而是使用 Nginx 作为反向代理。

1. 域名解析

先在 DNS 服务商处添加 A 记录:

your-domain.com -> 服务器公网 IP

2. 安装 Nginx

sudo apt install -y nginx

3. 配置反向代理

创建配置文件:

sudo vim /etc/nginx/sites-available/dify.conf

写入示例:

server {
    listen 80;
    server_name your-domain.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

注意:这里的 3000 只是示例端口,请以你的 Dify 前端或网关实际端口为准。

启用站点:

sudo ln -s /etc/nginx/sites-available/dify.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

十二、配置 HTTPS 证书

强烈建议全站 HTTPS。

1. 安装 Certbot

sudo apt install -y certbot python3-certbot-nginx

2. 申请证书

sudo certbot --nginx -d your-domain.com

按照提示完成证书签发。

3. 自动续期检查

sudo certbot renew --dry-run

十三、防火墙配置

如果你启用了 UFW,可以限制开放端口。

常见开放端口

  • 22:SSH
  • 80:HTTP
  • 443:HTTPS

设置示例:

sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
sudo ufw status

如果你的服务只通过 Nginx 提供访问,建议不要对外直接开放数据库、Redis、向量库端口。


十四、生产环境推荐优化

1. 修改默认密码和密钥

部署后第一件事就是改所有默认密码,包括:

  • PostgreSQL 密码
  • Redis 密码
  • 对象存储密钥
  • API Key
  • 管理员密码

2. 关闭不必要端口

只保留必要端口对外访问。

3. 做数据持久化

确保数据库、对象存储、日志目录都挂载到了宿主机或独立卷。

4. 设置日志轮转

避免日志无限增长。

5. 定时备份

备份策略至少包括:

  • PostgreSQL 数据库备份
  • 对象存储数据备份
  • .env 配置备份
  • Docker Compose 配置备份

十五、如何备份 Dify?

1. 备份 PostgreSQL

docker exec -t postgres_container_name pg_dump -U postgres dify > dify_backup.sql

如果是宿主机数据库,可直接用 pg_dump

2. 备份对象存储

如果文件存在本地目录:

tar -czvf storage_backup.tar.gz /path/to/storage

如果使用 MinIO 或 S3,需要按对象存储方式备份。

3. 备份配置文件

cp .env /backup/dify/.env.bak
cp docker-compose.yml /backup/dify/

4. 建议自动化

可以写一个定时任务:

crontab -e

例如每天凌晨 2 点备份:

0 2 * * * /usr/local/bin/dify-backup.sh

十六、常见部署问题与排查方法

问题 1:容器启动失败

先看状态:

docker compose ps

再看日志:

docker compose logs -f

常见原因:

  • .env 配置错误
  • 端口冲突
  • 数据库密码不一致
  • 镜像拉取失败

问题 2:网页打不开

排查顺序:

  1. 容器是否正常运行
  2. Nginx 是否启动
  3. 防火墙是否放行 80/443
  4. 域名是否解析正确
  5. HTTPS 证书是否正常

可用命令:

curl -I http://127.0.0.1

问题 3:数据库连接失败

检查:

  • PostgreSQL 是否运行
  • 账号密码是否一致
  • 数据库名是否正确
  • 容器网络是否正常

可以进入容器测试:

docker exec -it  sh

然后尝试连接数据库。


问题 4:知识库上传失败

可能原因:

  • 对象存储配置错误
  • 文件大小超限
  • 网络超时
  • 权限不足

建议检查:

  • 存储桶是否存在
  • access key 是否正确
  • endpoint 是否可达
  • bucket policy 是否合理

问题 5:模型调用失败

重点检查:

  • API Key 是否有效
  • Base URL 是否正确
  • 账号是否有额度
  • 出网是否受限
  • 代理是否可用

如果是企业内网,尤其要确认:

  • 服务器是否能访问模型服务地址
  • 是否需要配置 HTTP/HTTPS 代理

十七、如何升级 Dify?

升级前一定先备份。

1. 拉取最新代码

git pull

2. 拉取新镜像

docker compose pull

3. 重启服务

docker compose up -d

4. 观察日志

docker compose logs -f

如果出现数据库迁移问题,不要盲目重启,先看官方升级说明和数据库变更说明。


十八、企业生产环境建议

如果你要把 Dify 用于正式业务,建议额外考虑以下架构设计:

1. 前后端分离访问

通过统一网关/Nginx 暴露服务,避免容器直接对公网开放。

2. 数据库独立部署

PostgreSQL 可以独立到云数据库或专用机器,提升稳定性。

3. 对象存储独立化

使用 S3 兼容存储,比本地磁盘更安全。

4. 监控与告警

建议接入:

  • Prometheus
  • Grafana
  • Loki
  • 企业微信/钉钉告警

5. 审计与权限

如果给多人使用,建议明确:

  • 管理员权限
  • 应用创建权限
  • 知识库管理权限
  • API 调用权限

6. 网络隔离

敏感场景下建议部署在内网环境,限制外部访问。


十九、适合哪些使用场景?

Dify 非常适合以下场景:

  • 企业知识库问答
  • 内部制度查询机器人
  • 客服助手
  • 销售辅助机器人
  • 研发助手
  • 工作流自动化
  • 表单解析与信息抽取
  • Agent 编排与工具调用
  • AI 应用原型验证

如果你需要快速把大模型能力落地到业务中,Dify 是一个很实用的选择。


二十、完整部署清单

部署完成后,建议逐项检查:

  • [ ] Docker 已安装
  • [ ] Docker Compose 可用
  • [ ] .env 已正确配置
  • [ ] PostgreSQL 可连接
  • [ ] Redis 可连接
  • [ ] 对象存储可用
  • [ ] 镜像已正常拉取
  • [ ] 容器已启动
  • [ ] 域名解析已完成
  • [ ] Nginx 反向代理已配置
  • [ ] HTTPS 证书已签发
  • [ ] 防火墙已放行 80/443
  • [ ] 管理员账号已创建
  • [ ] 模型供应商已配置
  • [ ] 知识库上传测试成功
  • [ ] 备份方案已建立

二十一、结语

Dify 的价值不只是“能部署起来”,而是它能把 大模型、知识库、工作流、工具调用、应用发布 这一整套能力快速产品化。
如果你只是想做一个 Demo,Docker Compose 足够快;如果你准备正式上线,那就要认真对待 域名、HTTPS、持久化、备份、监控和权限控制

一句话总结:

开发环境看效率,生产环境看稳定性。Dify 部署成功只是开始,真正重要的是长期可维护、可扩展、可恢复。

如果你愿意,我还可以继续帮你写下面任意一种版本:

  1. Dify Docker Compose 详细实操版
  2. Dify 宝塔面板部署版
  3. Dify Kubernetes 生产部署版
  4. Dify + Nginx + HTTPS 完整配置版
  5. Dify 连接 DeepSeek/通义千问/Claude 的实战版

如果你需要,我可以直接继续输出下一篇。

目录结构
全文