开源 LLM 应用开辟平台 Dify 全栈部署指南(Docker Compose 方案)
一、部署情况要求与前置检查
1.1 硬件最低设置
组件要求CPU双核及以上内存4GB 及以上磁盘空间20GB 可用空间 1.2 体系兼容性验证
- ✅ 官方支持体系:
- Ubuntu 20.04/22.04 LTS
- Debian 11/12
- ❗ 注意事项:
- 推荐利用纯净体系情况
- 避免与其他占用 80/443 端口的服务冲突
1.3 安装验证
部署乐成检察:
欣赏器访问:
二、容器化部署全流程
2.1 容器运行时安装
Docker 引擎部署
- # 卸载旧版本(全新安装可跳过)
- sudo apt-get remove docker docker-engine docker.io containerd runc
- # 安装依赖工具集
- sudo apt-get update && sudo apt-get install -y \
- ca-certificates \
- curl \
- gnupg \
- lsb-release
- # 添加官方 GPG 密钥
- sudo mkdir -m 0755 -p /etc/apt/keyrings
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
- # 设置稳定版仓库
- echo \
- "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
- $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- # 安装 Docker CE
- sudo apt-get update && sudo apt-get install -y \
- docker-ce \
- docker-ce-cli \
- containerd.io \
- docker-buildx-plugin \
- docker-compose-plugin
复制代码 Docker Compose 安装
- # 获取最新稳定版(示例版本号可替换)
- COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep 'tag_name' | cut -d" -f4)
- sudo curl -L "https://github.com/docker/compose/releases/download/${COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m)" \
- -o /usr/local/bin/docker-compose
- # 权限配置
- sudo chmod +x /usr/local/bin/docker-compose
- # 验证安装
- docker-compose --version
复制代码 2.2 部署架构剖析
Dify 的 Docker 部署包含以下焦点组件:
2.3 服务部署实战
步调 1:获取部署清单
- git clone -b main https://github.com/langgenius/dify.git && cd dify/docker
- # 用户推荐使用镜像源:需要gitee账号
- # git clone https://gitee.com/langgenius/dify.git
复制代码 步调 2:情况设置
- cp .env.example .env
- # 关键配置项建议修改
- sed -i 's/HTTP_PORT=80/HTTP_PORT=5080/g' .env # 避免端口冲突
- sed -i 's/SUPERADMIN_EMAIL=.*/SUPERADMIN_EMAIL=admin@yourdomain.com/g' .env
复制代码 步调 3:设置镜像源
- #配置镜像加速源
- sudo nano /etc/docker/daemon.json
- "https://docker.1ms.run",
- "https://hub.rat.dev",
- "https://docker.1panel.live",
- "https://hub.rat.dev",
- "https://proxy.1panel.live",
- "https://ghcr.nju.edu.cn",
- "https://docker.registry.cyou",
- "https://dockercf.jsdelivr.fyi",
- "https://docker.rainbond.cc",
- "https://registry.cn-shenzhen.aliyuncs.com",
- "https://dockertest.jsdelivr.fyi",
- "https://mirror.aliyuncs.com",
- "https://mirror.baidubce.com",
- "https://docker.mirrors.ustc.edu.cn",
- "https://docker.mirrors.sjtug.sjtu.edu.cn",
- "https://mirror.iscas.ac.cn",
- "https://docker.nju.edu.cn",
- "https://docker.m.daocloud.io",
- "https://dockerproxy.com",
- "https://docker.jsdelivr.fyi",
- "https://docker-cf.registry.cyou"
-
-
- sudo systemctl daemon-reload
- sudo systemctl restart docker
复制代码 步调 4:启动服务集群
- # 首次启动建议观察日志:下载速度可能比较慢
- docker-compose up -d --build && docker-compose logs -f --tail=100
复制代码 三、部署验证与初始化
3.1 服务状态检查
- # 预期输出示例
- docker-compose ps
- root@wh-VMware-Virtual-Platform:~/dify/docker# docker-compose ps
- NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
- docker-api-1 langgenius/dify-api:1.1.3 "/bin/bash /entrypoi…" api 21 minutes ago Up 21 minutes 5001/tcp
- docker-db-1 postgres:15-alpine "docker-entrypoint.s…" db 21 minutes ago Up 21 minutes (healthy) 5432/tcp
- docker-nginx-1 nginx:latest "sh -c 'cp /docker-e…" nginx 21 minutes ago Up 21 minutes
复制代码 3.2 初始化管理员账户
- 访问 http://<your-server-ip>:80
- 按提示填写:
- 构造名称
- 管理员邮箱
- 密码(复杂度要求:至少8位含大小写字母和数字)
四、高阶设置指南
4.1 反向署理设置(可选)
- #以上是全量安装已配置好nginx,可无需配置
- server {
- listen 80;
- server_name dify.yourdomain.com;
-
- location / {
- proxy_pass http://localhost:5080;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-
- # WebSocket 支持
- proxy_http_version 1.1;
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection "upgrade";
- }
- }
复制代码 4.2 数据长期化设置(可选)
默认数据存储路径:
- PostgreSQL:/var/lib/docker/volumes/dify_pg-data/_data
- Redis:/var/lib/docker/volumes/dify_redis-data/_data
发起绑定到自定义目次:
- # 修改 docker-compose.yml
- services:
- postgres:
- volumes:
- - /data/dify/postgres:/var/lib/postgresql/data
- redis:
- volumes:
- - /data/dify/redis:/data
复制代码 五、故障排查手册
5.1 常见问题处理
问题 1:容器启动失败
✅ 排查步调:
- 检察日志:docker-compose logs <service-name>
- 检查端口冲突:ss -tulnp | grep ':80'
- 验证依赖服务:确保 PostgreSQL/Redis 正常启动
问题 2:无法访问安装页面
✅ 办理方案:
- 检查防火墙设置:
- 验证服务绑定地址:
- docker exec dify-web netstat -ant | grep 3000
复制代码 六、维护与升级
6.1 服务更新流程
- # 拉取最新代码
- git pull origin main
- # 重建服务
- docker-compose down && docker-compose up -d --build
复制代码 6.2 数据备份方案
- # PostgreSQL 备份
- docker exec dify-db pg_dump -U postgres dify > dify_backup_$(date +%Y%m%d).sql
- # Redis 备份
- docker exec dify-redis redis-cli save
- cp /data/dify/redis/dump.rdp ./redis_backup_$(date +%Y%m%d).rdb
复制代码 技能总结
本文详细阐述了 Dify 开源平台的容器化部署方案,具有以下技能亮点:
- 全栈隔离部署:通过 Docker Compose 实现服务组件隔离,确保情况一致性
- 生产级设置:包含反向署理、数据长期化等企业级部署方案
- 可观测性增强:提供完整的日志检察与状态监控命令
- 大陆优化方案:针对国内用户提供镜像加速设置发起
发起将本文所述方案部署于测试情况验证后,再迁徙至生产情况。更多高级设置请参考 Dify 官方文档。
如果本教程资助您办理了问题,请点赞❤️收藏⭐支持!欢迎在评论区留言交流技能细节!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |