搬瓦工部署 Dify AI 应用平台教程
Dify 是一款开源的 AI 应用开发平台,可以让你快速搭建基于大语言模型(LLM)的应用,包括聊天机器人、知识库问答、AI 工作流等。Dify 支持接入 OpenAI、Anthropic、本地模型等多种 LLM 后端。本文将介绍如何在搬瓦工 VPS 上通过 Docker Compose 部署 Dify。
一、系统要求
Dify 是一个多组件应用,对服务器配置有一定要求:
- CPU:至少 2 核,推荐 4 核。
- 内存:至少 4GB,推荐 8GB(组件较多,内存需求大)。
- 磁盘:至少 20GB 可用空间。
- 操作系统:Ubuntu 22.04 推荐。
- Docker:Docker Engine 20.10+ 和 Docker Compose V2。
建议选择搬瓦工 2 核 4GB 以上的方案,具体可参考 全部在售方案。如果还未安装 Docker,请先参考 Docker 安装教程。
二、下载 Dify 源码
cd /opt
git clone https://github.com/langgenius/dify.git
cd dify/docker
如果服务器没有安装 Git,先安装:
apt install git -y
三、配置环境变量
复制环境变量模板并进行编辑:
cp .env.example .env
nano .env
需要关注以下关键配置项:
3.1 安全密钥
生成一个随机密钥作为 SECRET_KEY:
openssl rand -base64 42
将生成的字符串填入 .env 文件的 SECRET_KEY 字段。
3.2 数据库配置
.env 文件中已包含 PostgreSQL 和 Redis 的默认配置,如果无特殊需求可保持默认值。建议修改数据库密码:
DB_PASSWORD=your_strong_db_password
REDIS_PASSWORD=your_strong_redis_password
3.3 访问地址
如果要通过域名访问,修改以下配置:
CONSOLE_WEB_URL=https://your-domain.com
SERVICE_API_URL=https://your-domain.com
APP_WEB_URL=https://your-domain.com
四、启动 Dify
docker compose up -d
首次启动需要下载多个镜像,耗时取决于网络速度,通常需要 5-15 分钟。启动完成后检查所有服务状态:
docker compose ps
Dify 包含以下核心服务:
- api:后端 API 服务
- worker:异步任务处理
- web:前端 Web 界面
- db:PostgreSQL 数据库
- redis:Redis 缓存
- weaviate:向量数据库(用于知识库)
- nginx:反向代理
所有服务状态为 running 即表示部署成功。默认通过 http://服务器IP:80 访问。
五、初始化设置
在浏览器中访问 Dify,首次打开会进入管理员注册页面:
- 填写管理员邮箱和密码。
- 登录后进入控制台。
- 点击右上角头像 > "设置" > "模型供应商"来配置 LLM 后端。
六、配置 API 密钥
Dify 需要接入大语言模型才能工作。以下是常见的模型提供商配置方法:
6.1 OpenAI
在"模型供应商"中选择 OpenAI,填入你的 API Key。支持 GPT-4o、GPT-4、GPT-3.5-Turbo 等模型。
6.2 Anthropic
选择 Anthropic 供应商,填入 API Key,可使用 Claude 系列模型。
6.3 本地模型(Ollama)
如果你在同一台服务器上部署了 Ollama,可以在模型供应商中选择"Ollama",填写 API 地址为 http://host.docker.internal:11434(或服务器内网 IP),即可使用本地运行的开源模型。
七、创建 AI 应用
7.1 聊天助手
在控制台首页点击"创建应用",选择"聊天助手"类型:
- 填写应用名称和描述。
- 编写系统提示词(Prompt),定义 AI 的角色和行为。
- 选择使用的模型和参数(如 temperature、max tokens)。
- 点击"发布"即可生成一个可分享的聊天界面。
7.2 知识库问答
Dify 支持将文档导入知识库,AI 可以基于这些文档回答问题:
- 进入"知识库"页面,创建一个新知识库。
- 上传 PDF、TXT、Markdown 等格式的文档。
- 等待文档索引完成。
- 在创建应用时,勾选"知识库"功能并选择刚创建的知识库。
7.3 工作流
Dify 的工作流功能允许你用可视化方式编排复杂的 AI 流程:
- LLM 节点:调用语言模型生成内容。
- 知识检索节点:从知识库中检索相关信息。
- 条件分支:根据输出内容进行不同处理。
- HTTP 请求:调用外部 API。
- 代码执行:运行自定义 Python/JavaScript 代码。
八、配置域名和 HTTPS
Dify 自带 Nginx 反向代理,如果需要使用自己的域名和 SSL 证书,可以在宿主机上再部署一层 Nginx。
首先修改 Dify 的 Nginx 端口映射,编辑 docker-compose.yml,将 nginx 服务的端口从 80:80 改为 8080:80:
nginx:
ports:
- "8080:80"
然后在宿主机安装 Nginx 和 Certbot,创建反向代理配置,方法与 Nextcloud 教程中的第六节类似。
九、升级 Dify
Dify 更新频繁,建议定期升级以获取新功能和安全修复:
cd /opt/dify/docker
docker compose down
git pull origin main
docker compose pull
docker compose up -d
提示:升级前建议备份数据库。
十、常见问题
服务启动后无法访问
检查防火墙是否开放了 80 端口:
ufw allow 80/tcp
ufw allow 443/tcp
检查 Docker 服务日志:
docker compose logs -f
内存不足导致服务崩溃
如果 VPS 内存只有 4GB,建议添加 Swap 空间:
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
知识库索引慢
文档索引速度取决于文档大小和 Embedding 模型的处理速度。大量文档时建议使用本地 Embedding 模型,减少 API 调用延迟。
总结
Dify 是一个功能丰富的 AI 应用开发平台,通过 Docker Compose 可以快速在搬瓦工 VPS 上部署。搭配 Ollama 本地模型,可以实现完全私有化的 AI 应用。选购搬瓦工 VPS 请参考 全部方案,购买时使用优惠码 NODESEEK2026 可享受折扣。