在 Ubuntu 22.04 上搭建 Dify 应用的完整指南
Dify 是一款开源的 AI 应用开发平台,支持快速构建基于大语言模型(如 GPT-3、ChatGLM 等)的应用。本教程将详细演示如何在 Ubuntu 22.04 系统上部署 Dify。
一、环境准备
1. 系统要求
-
Ubuntu 22.04 LTS
-
最低配置:2核 CPU / 4GB 内存 / 20GB 硬盘
-
推荐配置:4核 CPU / 8GB 内存 / 40GB 硬盘
2. 更新系统
sudo apt update && sudo apt upgrade -y sudo apt install -y curl git docker.io docker-compose
3. 安装 Docker
# 启动 Docker 服务 sudo systemctl enable --now docker # 验证安装 docker --version docker-compose --version
二、安装 Dify
1. 克隆仓库
git clone https://github.com/langgenius/dify.git cd dify/docker
2. 配置环境变量
创建 .env
文件:
cp .env.example .env nano .env
修改关键配置(示例):
env
OPENAI_API_KEY=sk-your-api-key-here # 必填 DB_PASSWORD=dify_db_password # 自定义数据库密码
3. 启动容器
sudo docker-compose up -d
首次启动需要下载约 2GB 的依赖,请耐心等待。
三、验证安装
1. 检查服务状态
docker-compose ps
正常应显示以下服务均为 running
:
-
api-server
-
worker
-
web-client
-
postgres
-
redis
2. 访问 Web 界面
打开浏览器访问:
http://your_server_ip:80
首次访问需完成初始化设置:
-
创建管理员账号
-
选择语言模型供应商(如 OpenAI)
-
配置 API 密钥
四、基础配置
1. 邮件服务配置(可选)
在 .env
文件中添加:
env
MAIL_HOST=smtp.example.com MAIL_PORT=587 MAIL_USERNAME=your@email.com MAIL_PASSWORD=your-password
2. HTTPS 配置
建议使用 Nginx 反向代理:
nginx
server { listen 443 ssl; server_name dify.example.com; ssl_certificate /path/to/fullchain.pem; ssl_certificate_key /path/to/privkey.pem; location / { proxy_pass http://localhost:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
五、维护与管理
1. 更新版本
cd dify/docker git pull origin main docker-compose down && docker-compose up -d --build
2. 数据备份
备份 PostgreSQL 数据:
bash
复制
docker exec -t dify-postgres pg_dumpall -U dify > dify_backup.sql
3. 常见问题处理
Q1: 端口冲突
修改 docker-compose.yml
中的端口映射:
yaml
web-client: ports: - "8080:80" # 改为其他端口
Q2: 内存不足
增加 SWAP 空间:
sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile
六、开始使用
-
创建新应用:通过 Web 界面选择对话型或文本生成型应用
-
接入模型:支持 OpenAI、Azure、Hugging Face 等主流模型
-
构建工作流:使用可视化工具编排 AI 处理流程
-
部署 API:生成可直接调用的 API 端点
七、总结
通过本教程,您已完成:
✅ Dify 核心服务的容器化部署
✅ 基础环境配置与安全加固
✅ 系统维护方案的制定
建议后续操作:
-
定期检查容器日志:
docker-compose logs -f
-
配置监控告警(推荐 Prometheus + Grafana)
-
参考官方文档探索高级功能:Welcome to Dify | Dify
提示:部署过程中如遇问题,可通过
docker-compose logs [service_name]
查看具体错误日志。对于生产环境部署,建议使用云数据库替代默认的 PostgreSQL 容器以获得更好性能。