部署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  # 临时关闭防火墙(测试环境)
相关推荐
落日漫游40 分钟前
ansible中角色概念
运维·云原生·自动化
小牛马爱写博客1 小时前
Kubernetes Service 核心概念与实操指南(分别使用yaml文件和命令行分别创建service版)
云原生·容器·kubernetes
霍格沃兹测试开发学社-小明1 小时前
测试开发技术路线全新升级:在云原生与AI时代构建核心竞争力
大数据·人工智能·云原生
DeepFlow 零侵扰全栈可观测2 小时前
DeepFlow 全栈可观测性 护航某银行核心系统全生命周期
数据库·人工智能·分布式·云原生·金融
BD_Marathon3 小时前
【Zookeeper】CAP理论——BASE定理及ZK追求的一致性
分布式·zookeeper·云原生
shida_csdn4 小时前
k0smotron 一键创建 K8s Control Plane(K8s in K8s 模式)
云原生·容器·k0s·kosmotron
2501_941807264 小时前
智慧金融平台中的多语言语法引擎与实时风控策略实践
eureka
张人大 Renda Zhang5 小时前
Maven = Java 构建世界的“事实标准”:从 pom.xml 到云原生 CI/CD
xml·java·spring boot·后端·ci/cd·云原生·maven
初学者,亦行者5 小时前
【探索实战】监控、安全与边缘场景的深度落地
云原生
AI云原生5 小时前
Docker部署多个Python项目如何使用Nginx实现负载均衡的解决方案
python·nginx·docker·云原生·容器·kubernetes·负载均衡