部署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  # 临时关闭防火墙(测试环境)
相关推荐
鹤落晴春1 天前
【K8s】Pod调度、configMaps
云原生·容器·kubernetes
张忠琳1 天前
【runc 1.4.2】(Part 2)runc 1.4.2 超深度分析 — CLI层:main.go、命令文件、runner、信号处理、TTY
云原生·kubernetes·runc
My is 李豆1 天前
CentOS 7 安装 Docker 完整教程(含 docker-compose 插件)
docker·eureka·centos
阿里云云原生1 天前
AI 提效是“假象”还是“红利”?用 LoongSuite + SLS 构建组织级 AI 编码度量看板
云原生
Java识堂1 天前
如何对微服务进行拆分?
微服务·云原生·架构
Plastic garden1 天前
K8s知识(3) Pod亲和性,调度
云原生·容器·kubernetes
霸道流氓气质1 天前
从MySQL到云原生:全面解析阿里云PolarDB数据库及其与MySQL的核心差异
数据库·mysql·云原生
张忠琳1 天前
【client-go v0.36.1】(store Part 1)Store 超深度分析 — 模块定位、接口层次、类结构、KeyFunc体系、构造初始化
云原生·kubernetes·informer·store·client-go
heimeiyingwang1 天前
【架构实战】网关架构设计:微服务的统一入口
微服务·云原生·架构
sbjdhjd1 天前
04 (下) | K8S微服务实战:从 Service 到金丝雀发布
运维·微服务·云原生·kubernetes·开源·云计算·excel