群晖Docker部署指南:Ollama+Open WebUI+DeepSeek全流程解析
2025.09.17 15:20浏览量:1简介:本文详细介绍如何在群晖NAS上通过Docker部署Ollama、Open WebUI和DeepSeek的完整流程,涵盖环境准备、容器配置、服务联动及常见问题解决,助力用户快速搭建本地化AI应用环境。
一、部署前环境准备与核心组件解析
1.1 群晖Docker环境基础要求
群晖DSM系统需满足以下条件:
- 版本要求:DSM 7.0及以上(推荐7.2稳定版)
- 硬件配置:至少4GB内存(建议8GB+),双核CPU(推荐Intel Celeron J4125或更高)
- 存储空间:预留20GB以上可用空间(模型文件较大)
- 网络配置:确保能访问外网(用于拉取镜像),或已配置本地镜像仓库
关键操作:
- 进入
控制面板 > 套件中心
,搜索并安装Docker
套件 - 开启SSH服务(
控制面板 > 终端机和SNMP > 启用SSH服务
),端口默认22 - 通过SSH客户端(如PuTTY)连接NAS,执行
docker --version
验证安装
1.2 组件功能与依赖关系
- Ollama:开源模型运行框架,支持多模型管理(如Llama、DeepSeek等)
- Open WebUI:轻量级Web界面,提供模型交互、任务管理等功能
- DeepSeek:国内开源大模型,需通过Ollama加载运行
架构图示:
用户请求 → Open WebUI → Ollama API → DeepSeek模型 → 返回结果
二、分步部署Ollama核心服务
2.1 拉取Ollama官方镜像
通过SSH执行以下命令(推荐使用国内镜像加速):
sudo docker pull ollama/ollama:latest
# 或使用阿里云镜像(需替换为实际地址)
# sudo docker pull registry.cn-hangzhou.aliyuncs.com/ollama/ollama:latest
2.2 创建Ollama容器
在Docker目录下创建配置文件夹:
mkdir -p /volume1/docker/ollama/models
运行容器(关键参数说明):
sudo docker run -d \
--name ollama \
--restart unless-stopped \
-p 11434:11434 \
-v /volume1/docker/ollama/models:/root/.ollama/models \
ollama/ollama
-p 11434:11434
:暴露Ollama API端口-v
:持久化存储模型文件--restart
:容器异常时自动重启
2.3 验证Ollama服务
执行以下命令检查运行状态:
sudo docker logs ollama | grep "Server started"
# 正常应输出:Server started on [::]:11434
三、部署Open WebUI交互界面
3.1 拉取Open WebUI镜像
sudo docker pull ghcr.io/open-webui/open-webui:main
3.2 配置容器并联动Ollama
创建配置目录:
mkdir -p /volume1/docker/open-webui/{data,models}
运行容器(重点参数):
sudo docker run -d \
--name open-webui \
--restart unless-stopped \
-p 3000:3000 \
-e OLLAMA_API_URL="http://群晖IP:11434" \
-v /volume1/docker/open-webui/data:/app/backend/data \
-v /volume1/docker/open-webui/models:/models \
ghcr.io/open-webui/open-webui:main
OLLAMA_API_URL
:必须指向群晖本地IP(避免使用localhost)-p 3000
:WebUI访问端口
3.3 访问Web界面
浏览器输入http://群晖IP:3000
,首次访问需完成初始化设置:
- 设置管理员账号密码
- 在
Models
选项卡中点击Pull
下载DeepSeek模型(如deepseek-ai/DeepSeek-R1
) - 等待模型下载完成(约10-30分钟,取决于网络速度)
四、DeepSeek模型部署与优化
4.1 通过Ollama加载模型
SSH执行以下命令(需提前下载模型):
# 列出可用模型
curl http://localhost:11434/api/tags
# 运行DeepSeek模型(示例)
sudo docker exec -it ollama ollama run deepseek-ai/DeepSeek-R1:7b
4.2 性能优化建议
- 内存限制:在容器启动时添加
--memory
参数(如--memory 6g
) - 模型量化:使用
--size 3b
参数加载30亿参数版本(牺牲精度换性能) - GPU加速(可选):
若群晖配备NVIDIA显卡,需安装nvidia-docker2
并添加--gpus all
参数
五、常见问题解决方案
5.1 容器无法启动
现象:docker logs ollama
显示端口冲突
解决:
- 检查是否有其他服务占用11434端口:
sudo netstat -tulnp | grep 11434
- 终止冲突进程或修改容器端口映射
5.2 模型下载失败
现象:WebUI卡在Pulling model...
解决:
- 检查网络连接,尝试更换镜像源
- 手动下载模型文件(
.gguf
格式)并放入/volume1/docker/ollama/models
- 通过Ollama CLI导入:
sudo docker exec -it ollama ollama pull deepseek-ai/DeepSeek-R1:7b
5.3 访问WebUI显示502错误
现象:浏览器报错502 Bad Gateway
解决:
- 检查Open WebUI容器日志:
sudo docker logs open-webui
- 确认Ollama服务正常运行
- 重启Open WebUI容器:
sudo docker restart open-webui
六、进阶配置与安全建议
6.1 反向代理配置(使用群晖Reverse Proxy)
- 进入
控制面板 > 应用程序门户 > 反向代理服务器
- 新建规则:
- 来源:
http://群晖域名:端口
(如/ai
) - 目标:
http://127.0.0.1:3000
- 来源:
- 启用HTTPS加密
6.2 数据备份方案
- 定期备份模型目录:
sudo tar -czvf /volume1/backups/ollama_models.tar.gz /volume1/docker/ollama/models
- 设置群晖Hyper Backup任务自动备份
6.3 资源监控
通过Docker > 容器
界面查看实时资源占用,或安装Portainer
套件进行可视化管理
七、总结与扩展应用
7.1 部署成果验证
完成部署后,可通过以下方式测试:
- 在WebUI输入提示词,检查响应速度与准确性
- 通过API调用测试:
curl http://群晖IP:11434/api/chat \
-H "Content-Type: application/json" \
-d '{"model":"deepseek-ai/DeepSeek-R1:7b","messages":[{"role":"user","content":"你好"}]}'
7.2 扩展应用场景
- 私有知识库:结合
LangChain
构建文档问答系统 - 自动化工作流:通过
Make
或n8n
连接Ollama API实现任务自动化 - 多模型管理:在Ollama中同时运行多个模型(如Llama+DeepSeek)
7.3 维护建议
- 每周检查Docker容器日志
- 每月更新镜像与模型版本
- 监控存储空间,及时清理无用模型
通过本教程,用户可在群晖NAS上构建完整的本地化AI服务,兼顾数据隐私与灵活扩展。实际部署中需根据硬件条件调整模型规模,建议从7B参数版本开始测试性能。
发表评论
登录后可评论,请前往 登录 或 注册