Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 Web 用户界面,用于管理和操作各种本地和云端的模型,实现轻松的与各种大型语言模型交互,通过提供直观的图形化界面,使得用户能够轻松与大型语言模型进行交互,无需深入了解复杂的命令行操作或后端技术。 Ollama 是一个功能强大、易于使用且可扩展的大型语言模型开源框架,专为在本地机器上便捷部署和运行 LLM 而设计;我们可以在 Open WebUI 中运行 Ollama LLM 运行器,使得用户可以通过 Open WebUI 的图形化界面直接管理和运行通过 Ollama 部署的 LLM。很轻松的实现构建智能聊天机器人,文本内容生成、代码生成、系统问答等应用场景。 结合 ZeroNews 内网穿透,我们可以在任意位置都能通过专用域名访问到内网中的大模型应用平台,而无需固定 IP,可以很简单的分享给朋友、同事。 下面以在 Ubuntu 系统为例,部署 ZeroNews 零讯内网穿透+Open WebUI + Ollama,构建我们自己的大模型平台

先决条件

  1. 拥有一个有效的 ZeroNews 账户
  2. Ubuntu 服务器已经安装好 Docker。

第一步:部署 Ollama

安装 Ollama

在 ubuntu 系统通过一条命令部署 ollama 本地模型
curl -fsSL https://ollama.com/install.sh | sh
修改 ollama 的本地监听 IP 地址, 将 Environment=“OLLAMA_HOST=0.0.0.0” 添加到 ollama 的系统服务文件 (/etc/systemd/system/ollama.service) 中
Environment="OLLAMA_HOST=0.0.0.0"
重启 ollama 服务
sudo systemctl daemon-reload
sudo systemctl restart ollama
在浏览器中,输入 http://主机 ip:11434, 检查 ollama 是否正常运行, 显示 “Ollama is running”, 表示 ollama 运行正常

下载大模型

下载大模型,以 llama3.2 为例,下载 llama3.2 模型
ollama run llama3.2
ollama 部署完成后,接下来部署 Open WebUI

第二步: 部署 Open WebUI

我们通过 Docker 容器方式部署 Open WebUI

拉取 Open WebUI 镜像

通过以下命令,从 Open WebUI 官方 GitHub Container Registry (GHCR) 仓库拉取镜像
docker pull ghcr.io/open-webui/open-webui:main

启动 Open WebUI 容器

先创建一个用于 Open WebUI 容器本地存储的本地目录
mkdir /opt/openwebui
通过以下命令启动容器, 映射本地 3000 端口号, 并挂载本地目录 /opt/openwebui 到容器的 /app/backend/data
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v /opt/openwebui:/app/backend/data --name openwebui --restart always ghcr.io/open-webui/open-webui:main
Open WebUI 容器启动完成后,就可以在浏览器中输入 http://主机 IP:3000 访问 Open WebUI

第三步: 部署 ZeroNews 内网穿透

我们通过 Docker 容器方式部署 ZeroNews 内网穿透

选择快速开始方式

登录 https://user.zeronews.cc ,在「快速开始」页面,选择 Docker 安装方式,然后选择 ZeroNews 公共仓库(国内),按步骤操作。 img

按步骤运行 ZeroNews 服务

通过以下命令在 ZeroNews 官方仓库下载 ZeroNews 容器镜像
sudo docker pull docker.zeronews.cc/zeronews/zeronews:latest
创建数据目录并启动容器
选择 Docker Run 方式运行,执行如下命令
sudo mkdir -p /opt/zeronews
sudo docker run -d --name zeronews --net host \
  -v /opt/zeronews:/etc/zeronews \
  -e TOKEN=<your token> \
  docker.zeronews.cc/zeronews/zeronews:latest
请复制快速开始页面的 AuthToken 替换 <your token> 占位符。

查看运行中的客户端状态

ZeroNews 容器启动成功后,在 ZeroNews 控制台「关联客户端」页面查看已上线的 ZeroNews 容器设备。

第四步: 为 Open WebUI 添加域名及隧道

为 Open WebUI 添加域名

在 ZeroNews 管理平台的「自定义域名」管理界面中,添加域名(以 opwebui 为例):
  1. 在「域名类型」中选择「默认域名」,并在「子域名前缀」中输入 opwebui,然后点击「域名可用性检测」
  2. 若下方「接入域名」显示为「可注册」,则表示该域名当前可添加使用,点击单选框选择该域名
  3. 点击「提交」,完成域名添加

为 Open WebUI 添加公网隧道

在 ZeroNews 管理平台的「隧道管理」页面下,添加隧道:
  1. 选择隧道模式
    • 在「隧道模式」下拉框中,保持选择 「标准隧道」
  2. 选择隧道特性
    • 在「隧道特性」下拉框中,选择 「Raw」(默认透传模式)
  3. 配置协议与带宽
    • 隧道协议:选择 「HTTPS」
    • 带宽(Mbps):在输入框中填写所需的带宽数值(例如 1)
  4. 设置公网域名
    • 在「公网域名」选项中,点击选择 「自定义域名」
    • 在下方的「选择自定义域名」下拉框中,选择刚才添加的域名,例如 opwebui.ny.takin.cc
  5. 配置内网映射信息
    • 绑定设备:点击下拉框选择需要绑定的在线设备
    • 内网 IP:在输入框中填写内网 IP 地址,例如 127.0.0.1
    • 内网端口:在输入框中填写 Open WebUI 平台的端口号 3000
  6. 完成添加
    • 点击右下角的 「确认」 按钮即可保存。
创建成功之后,您就可以在隧道列表页面看到可访问的隧道。 Open WebUI 的公网隧道添加完成后,在浏览器就可以通过分配的域名 https://opwebui.ny.takin.cc 在公网上访问 Open WebUI 应用平台

第五步:Open WebUI 基础配置

先注册账号

打开 Open WebUI 域名地址后,先需要注册一个管理员账号, 点击登录输入框下方的 “注册” 输入用户名、邮箱、密码等信息,然后点击 “创建账号” 成功登录后,进入到 Open WebUI 主页面

设置大模型

点击 “选择一个模型”, 选择我们添加好的 llama3.2 模型 接下来就可以进行对话了,如输入 内网穿透 提示:文档截图及示例中的域名、隧道地址可能与您当前实际使用的不一致,请以 ZeroNews 控制台显示的实际地址为准。