部署open webui 调用ollama启动的deepseek
以下是 部署Open WebUI并调用Ollama的deepseek-70b模型 的详细步骤,重点讲解部署和配置过程:
一、部署 Open WebUI
1. 安装Docker(如已安装可跳过)
# 自动安装Docker
curl -fsSL https://get.docker.com | sh
# 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker
2. 拉取Open WebUI镜像
docker pull ghcr.io/open-webui/open-webui:main
3. 启动Open WebUI容器
docker run -d \
--name open-webui \
-p 3000:8080 \ # 映射容器8080端口到宿主机3000端口
-v open-webui:/app/backend/data \ # 持久化存储用户数据
--add-host=host.docker.internal:host-gateway \ # 允许容器访问宿主机网络
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \ # 关键配置:指向Ollama服务
ghcr.io/open-webui/open-webui:main
4. 验证部署
docker ps | grep open-webui # 查看容器是否运行
curl http://localhost:3000 # 测试服务可达性
二、配置调用Ollama模型
1. 确保Ollama已运行
ollama serve & # 后台运行Ollama服务
# 检查服务状态
curl http://localhost:11434/api/tags
2. 加载deepseek-70b模型
ollama pull deepseek-70b # 如果尚未下载模型
ollama run deepseek-70b & # 后台运行模型
3. Open WebUI界面配置
- 访问
http://localhost:3000
- 首次使用:
- 创建账号(建议关闭公共注册)
- 登录后进入聊天界面
- 选择模型:
- 点击左下角模型选择框
- 输入
deepseek-70b
搜索模型 - 选择后即可开始对话
三、关键配置详解
1. Docker参数解析
参数 | 作用 |
---|---|
-p 3000:8080 | Web界面访问端口 |
-v open-webui:/app/backend/data | 保存用户会话和设置 |
--add-host | 容器内通过host.docker.internal 访问宿主机 |
-e OLLAMA_BASE_URL | 指定Ollama API地址 |
2. 跨容器通信原理
host.docker.internal
是Docker的特殊DNS名称,指向宿主机IP- 通过该地址访问宿主机的Ollama服务(默认端口11434)
四、常见问题解决
1. 模型未显示在列表中
# 检查Ollama服务是否运行
docker exec open-webui curl -s http://host.docker.internal:11434/api/tags
# 重启服务
docker restart open-webui
2. 性能优化配置
# 带GPU加速的启动命令(需安装NVIDIA驱动)
docker run -d \
--gpus all \ # 启用GPU支持
--shm-size=8g \ # 提升共享内存
...其他参数同上...
3. 自定义模型参数
在模型选择框输入时,可通过@
符号指定参数:
deepseek-70b @temperature=0.7 @seed=123
五、高级配置
1. 安全加固
# 禁用用户注册
docker run -e DISABLE_SIGNUP=true ...
# 设置管理员账号
docker run -e DEFAULT_ADMIN_EMAIL=admin@example.com ...
2. 使用HTTPS
# 添加SSL证书映射
-v /path/to/ssl:/app/backend/certs \
-e SSL_CERT_FILE=/app/backend/certs/fullchain.pem \
-e SSL_KEY_FILE=/app/backend/certs/privkey.pem \
3. 监控日志
docker logs -f open-webui # 实时查看日志
完成以上步骤后,即可通过浏览器访问 http://localhost:3000
使用 deepseek-70b 模型。如果遇到网络问题,可尝试关闭防火墙:
sudo ufw disable # 临时关闭防火墙(测试环境)