部署open webui 调用ollama启动的deepseek

以下是 部署Open WebUI并调用Ollama的deepseek-70b模型 的详细步骤,重点讲解部署和配置过程:


一、部署 Open WebUI

1. 安装Docker(如已安装可跳过)
bash 复制代码
# 自动安装Docker
curl -fsSL https://get.docker.com | sh
# 启动Docker服务
sudo systemctl start docker
sudo systemctl enable docker
2. 拉取Open WebUI镜像
bash 复制代码
docker pull ghcr.io/open-webui/open-webui:main
3. 启动Open WebUI容器
bash 复制代码
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. 验证部署
bash 复制代码
docker ps | grep open-webui  # 查看容器是否运行
curl http://localhost:3000   # 测试服务可达性

二、配置调用Ollama模型

1. 确保Ollama已运行
bash 复制代码
ollama serve &  # 后台运行Ollama服务
# 检查服务状态
curl http://localhost:11434/api/tags
2. 加载deepseek-70b模型
bash 复制代码
ollama pull deepseek-70b     # 如果尚未下载模型
ollama run deepseek-70b &   # 后台运行模型
3. Open WebUI界面配置
  1. 访问 http://localhost:3000
  2. 首次使用
    • 创建账号(建议关闭公共注册)
    • 登录后进入聊天界面
  3. 选择模型
    • 点击左下角模型选择框
    • 输入 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. 模型未显示在列表中
bash 复制代码
# 检查Ollama服务是否运行
docker exec open-webui curl -s http://host.docker.internal:11434/api/tags

# 重启服务
docker restart open-webui
2. 性能优化配置
bash 复制代码
# 带GPU加速的启动命令(需安装NVIDIA驱动)
docker run -d \
  --gpus all \                # 启用GPU支持
  --shm-size=8g \            # 提升共享内存
  ...其他参数同上...
3. 自定义模型参数

在模型选择框输入时,可通过@符号指定参数:

复制代码
deepseek-70b @temperature=0.7 @seed=123

五、高级配置

1. 安全加固
bash 复制代码
# 禁用用户注册
docker run -e DISABLE_SIGNUP=true ...

# 设置管理员账号
docker run -e DEFAULT_ADMIN_EMAIL=admin@example.com ...
2. 使用HTTPS
bash 复制代码
# 添加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. 监控日志
bash 复制代码
docker logs -f open-webui  # 实时查看日志

完成以上步骤后,即可通过浏览器访问 http://localhost:3000 使用 deepseek-70b 模型。如果遇到网络问题,可尝试关闭防火墙:

bash 复制代码
sudo ufw disable  # 临时关闭防火墙(测试环境)
相关推荐
啟明起鸣18 小时前
【Go 与云原生】先从 Go 对与云原生的依赖关系讲起,再讲讲 一个简单的 Go 项目热热身
开发语言·云原生·golang
@不会写代码的小张18 小时前
传统的企业服务如何部署在k8s集群中
云原生·容器·kubernetes
Juchecar21 小时前
超越经典23种设计模式:新模式、反模式与函数式编程
设计模式·云原生·函数式编程
啟明起鸣1 天前
【Go 与云原生】让一个 Go 项目脱离原生的操作系统——我们开始使用 Docker 制造云容器进行时
docker·云原生·golang
橙色云-智橙协同研发1 天前
【PLM实施专家宝典】离散制造企业MBD与无纸化制造实施方案:从“图纸驱动”到“数据驱动”的革命
云原生·解决方案·数字化转型·plm·国产plm·专家经验·无纸化
victory04311 天前
K8S重启之后无法启动故障排查 与 修复
云原生·容器·kubernetes
研究司马懿1 天前
【ETCD】ETCD常用命令
网络·数据库·云原生·oracle·自动化·运维开发·etcd
java_logo1 天前
SGLANG Docker容器化部署指南
linux·运维·docker·容器·eureka·1024程序员节
悠闲蜗牛�2 天前
技术融合新纪元:深度学习、大数据与云原生的跨界实践
大数据·深度学习·云原生
徒 花2 天前
Nginx
运维·nginx·云原生