openwebui-v0.6.5学习01-部署

一、文档与服务器信息

1.1 参考文档

github地址: https://github.com/open-webui/open-webui

环境变量解析:https://docs.openwebui.com/getting-started/env-configuration

监控open-webui:https://docs.openwebui.com/getting-started/advanced-topics/monitoring

1.2 服务器信息

主机名 IP 操作系统 规格 GPU情况 备注
g406011748489384920 10.11.15.190(vpc)
10.251.19.46(浮动ip)
Ubuntu 22.04.5 LTS -amd64 12c20g+100G GeForce RTX 4060 *1 OpenStack虚拟机

二、容器化部署

我的环境有点特殊,OpenStack的vxlan网络mtu值是1450,然后虚拟机、容器桥接网络的mtu值都要相同。

1
2
3
4
docker network create \
--driver=bridge \
--opt com.docker.network.driver.mtu=1450 \
mynet

2.1 以默认配置安装

2.1.1 只使用CPU

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#1)如果ollma服务运行在本机
docker run -d \
-p 18080:8080 \
--network=mynet \
--add-host=host.docker.internal:host-gateway \
--volume=open-webui:/app/backend/data \
--name open-webui \
--restart always \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/open-webui/open-webui:v0.6.5
#-d 是说容器以后台模式运行
#--network=mynet 容器使用自定义docker network
#--volume 是将openwebui容器中的数据存放目录“/app/backend/data”映射到宿主机上的名为open-webui这个docker volume,这样即使容器停止甚至删除,先前的数据还在,可以尽量保障数据安全性
#--name open-webui 为容器指定名称。否则会得到一个随机字符串名称
#--restart always 容器在宿主机重启或docker服务重启后,总是会自动重启(如果是手动stop它,就不会重启了)
#上述命令假设ollama服务就部署在本机上,openwebui服务默认认为ollama服务的监听地址是host.docker.internal:11434

#2)如果ollma服务运行在它机
docker run -d \
-p 18080:8080 \
--network=mynet \
--add-host=host.docker.internal:host-gateway \
--volume=open-webui:/app/backend/data \
--name open-webui \
--restart always \
-e OLLAMA_BASE_URL=http://它机IP:11434 \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/open-webui/open-webui:v0.6.5

运行上述命令后,可以使用如下命令查看open-webui容器的状态(每隔两秒刷新一次),如果其状态变更为healthy(可能需要等待几分钟),就可以访问其web界面了

1
2
3
4
5
watch docker ps -a --filter "name=open-webui"

(llamafactory) root@g406011748489384920:/opt/code_repos/dify# docker ps -a --filter "name=open-webui"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e38be1309275 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/open-webui/open-webui:v0.6.5 "bash start.sh" 34 minutes ago Up 31 minutes (healthy) 0.0.0.0:18080->8080/tcp, [::]:18080->8080/tcp open-webui

访问10.251.19.46:18080,注册后,看到如下界面信息:

image-20250611113651134

在open-webui中与ollama中管理的模型进行对话:

image-20250611153012775

2.1.2 使用GPU

1
2
3
4
5
6
7
8
9
docker run -d \
-p 18080:8080 \
--gpus=all \
--network=mynet \
--add-host=host.docker.internal:host-gateway \
--volume=open-webui:/app/backend/data \
--name open-webui \
--restart always \
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/open-webui/open-webui:v0.6.5

2.2 安装后仅使用openai模型

1
2
3
4
5
6
7
8
9
docker run -d \
-p 18080:8080 \
-e OPENAI_API_KEY=自己的openai-api-key \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main
#OPENAI_API_KEY 就是自己在openai 官网申请的api key,用于访问openai的大模型
#这种方式需要魔法,大陆应该基本上用不上

三、通过python-pip安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#使用conda创建python3.11 虚拟机环境
(base) root@ksp-registry:~# conda create -n py3.11 python=3.11
(base) root@ksp-registry:~# conda activate py3.11

#安装Open WebUI
(py3.11) root@ksp-registry:~# pip install open-webui
#设置模型文件下载需用到的镜像网站
(py3.11) root@ksp-registry:~# export HF_ENDPOINT=https://hf-mirror.com

#相关环境变量跟容器中基本相同,比如OLLAMA_BASE_URL,更多环境变量参考https://docs.openwebui.com/getting-started/env-configuration
#比如要设置OLLAMA_BASE_URL变量:
export OLLAMA_BASE_URL=http://localhost:11434

#启动Open WebUI服务(如果要指定服务监听端口,使用“--port 8081”)
(py3.11) root@ksp-registry:~# open-webui serve
#下载的 内置模型文件(例如 VAD 模型、reranker、语音模型等) 默认存放在如下目录是:/root/.cache/huggingface/hub/
#open-webui服务的默认监听端口是8080。访问 http://localhost:8080
1
2
3
4
5
6
7
8
#ksp-registry服务器(ip为172.20.0.22)上ollama管理的LLM
(py3.11) root@ksp-registry:~# ollama list
NAME ID SIZE MODIFIED
qwen2.5:32b 9f13ba1299af 19 GB 2 days ago
linux6200/bge-reranker-v2-m3:latest abf5c6d8bc56 1.2 GB 2 days ago
nomic-embed-text:v1.5 0a109f422b47 274 MB 2 days ago
qwen3:32b 030ee887880f 20 GB 4 days ago
qwen2.5-72b-it-Q4_K_M-LOT:latest 5b52a20c9d44 48 GB 5 days ago
image-20250611170821831

openwebui-v0.6.5学习01-部署
https://jiangsanyin.github.io/2025/06/11/openwebui-v0.6.5学习01-部署/
作者
sanyinjiang
发布于
2025年6月11日
许可协议