148 lines
3.1 KiB
Markdown
148 lines
3.1 KiB
Markdown
# Dify 部署指南
|
||
|
||
> 西安云美电子科技有限公司 - 企业知识库
|
||
|
||
## 前置要求
|
||
|
||
| 项目 | 最低要求 | 推荐配置 |
|
||
|------|---------|---------|
|
||
| CPU | 4 核 | 8 核+ |
|
||
| 内存 | 8 GB | 16 GB+ |
|
||
| 磁盘 | 50 GB SSD | 100 GB+ SSD |
|
||
| Docker | ≥ 20.10 | 最新稳定版 |
|
||
| Docker Compose | ≥ 2.0 | 最新稳定版 |
|
||
| 操作系统 | Ubuntu 20.04+ | Ubuntu 22.04 LTS |
|
||
|
||
## 快速部署
|
||
|
||
### 1. 克隆项目
|
||
|
||
```bash
|
||
git clone http://git.xayunmei.com/yunmei/dify-app.git
|
||
cd dify-app
|
||
git checkout feature/dev
|
||
```
|
||
|
||
### 2. 配置环境变量
|
||
|
||
```bash
|
||
cd docker
|
||
cp .env.example .env
|
||
|
||
# 必须修改以下配置:
|
||
# - SECRET_KEY(安全密钥,用 openssl rand -hex 32 生成)
|
||
# - POSTGRES_PASSWORD(数据库密码)
|
||
# - REDIS_PASSWORD(Redis 密码)
|
||
# - DEEPSEEK_API_KEY(DeepSeek API 密钥)
|
||
```
|
||
|
||
### 3. 配置 Nginx(可选)
|
||
|
||
如果使用自定义域名,编辑 `nginx/nginx.conf`:
|
||
|
||
```bash
|
||
mkdir -p nginx
|
||
# 将 SSL 证书放入 nginx/ssl/ 目录
|
||
```
|
||
|
||
### 4. 启动服务
|
||
|
||
```bash
|
||
# 拉取镜像
|
||
docker compose pull
|
||
|
||
# 后台启动所有服务
|
||
docker compose up -d
|
||
|
||
# 查看服务状态
|
||
docker compose ps
|
||
|
||
# 查看日志
|
||
docker compose logs -f
|
||
```
|
||
|
||
### 5. 初始化
|
||
|
||
启动完成后,打开浏览器访问:
|
||
|
||
```
|
||
http://<服务器IP>:80
|
||
```
|
||
|
||
首次访问会要求设置管理员账号和密码。
|
||
|
||
## 服务端口说明
|
||
|
||
| 服务 | 容器端口 | 映射端口 | 说明 |
|
||
|------|---------|---------|------|
|
||
| Nginx | 80/443 | 80/443 | 主入口 |
|
||
| Dify API | 5001 | 内部 | API 服务 |
|
||
| Dify Web | 3000 | 内部 | 前端 |
|
||
| PostgreSQL | 5432 | 内部 | 数据库 |
|
||
| Redis | 6379 | 内部 | 缓存 |
|
||
| Qdrant | 6333 | 6333 | 向量数据库 |
|
||
|
||
## 常用命令
|
||
|
||
```bash
|
||
# 停止所有服务
|
||
docker compose down
|
||
|
||
# 停止并清除数据卷(危险!)
|
||
docker compose down -v
|
||
|
||
# 重启单个服务
|
||
docker compose restart api
|
||
docker compose restart worker
|
||
|
||
# 查看单个服务日志
|
||
docker compose logs -f api
|
||
docker compose logs -f worker
|
||
|
||
# 更新镜像
|
||
docker compose pull
|
||
docker compose up -d
|
||
```
|
||
|
||
## 备份与恢复
|
||
|
||
### 数据库备份
|
||
|
||
```bash
|
||
docker compose exec db pg_dump -U postgres dify > backup_$(date +%Y%m%d).sql
|
||
```
|
||
|
||
### 数据库恢复
|
||
|
||
```bash
|
||
docker compose exec -T db psql -U postgres dify < backup_20260606.sql
|
||
```
|
||
|
||
### 数据卷备份
|
||
|
||
```bash
|
||
docker run --rm -v dify-app_api_storage:/data -v $(pwd):/backup alpine tar czf /backup/api_storage_$(date +%Y%m%d).tar.gz -C /data .
|
||
```
|
||
|
||
## 故障排查
|
||
|
||
| 问题 | 排查方法 |
|
||
|------|---------|
|
||
| 服务启动失败 | `docker compose logs <service>` |
|
||
| 数据库连接失败 | 检查 `.env` 中密码是否一致 |
|
||
| 知识库索引失败 | 检查 Worker 日志,确认 Celery 队列正常 |
|
||
| 模型调用失败 | 检查 DeepSeek API Key 是否有效 |
|
||
| 端口冲突 | 修改 `.env` 中对应端口号 |
|
||
|
||
## 安全注意事项
|
||
|
||
1. **SECRET_KEY 必须使用随机值**,不要使用默认值
|
||
2. **生产环境关闭 Qdrant 外部端口**(注释掉 ports 映射)
|
||
3. **定期更换数据库密码**
|
||
4. **配置 Nginx SSL 证书**,不要在公网裸跑 HTTP
|
||
5. **.env 文件不要提交到 Git**
|
||
|
||
---
|
||
|
||
_最后更新: 2026-06-06_
|