Open WebUI是针对LLM的用户友好的WebUI,支持的 LLM 运行程序包括 Ollama 和 OpenAI 兼容的 API。
Docker 是一种容器化技术,可以在服务器上快速搭建容器并在不污染宿主机的情况下运行软件,而不再需要安装配置各种环境。开源 Docker 社区致力于改进这类技术,并免费提供给所有用户,使之获益。
传统模式下运维人员需要运行 docker run 来启动各种容器,一旦容器过多,就无法一次性记住所有的运行参数和命令,这时候我们可以使用 Docker Compose 来解决这个问题。
Docker Compose 是一个用于在单个主机上定义和运行多个 Docker 容器的工具。它使用 YAML 文件来配置应用程序的服务,然后使用一个命令就可以创建并启动所有服务。使用 Docker Compose 可以大大简化 Docker 容器的管理和部署,特别是对于具有多个互相依赖的容器的复杂应用。
以下操作需要在 root
用户下完成,请使用 sudo -i
或 su root
切换到 root 用户进行操作。
首先,安装一些必要的软件包:
apt update
apt upgrade -y
apt install curl vim wget gnupg dpkg apt-transport-https lsb-release ca-certificates
然后加入 Docker 的 GPG 公钥和 apt 源:
curl -sSL https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://download.docker.com/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
国内机器可以用清华 TUNA 的国内源:
Debian
curl -sS https://download.docker.com/linux/debian/gpg | gpg --dearmor > /usr/share/keyrings/docker-ce.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-ce.gpg] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian $(lsb_release -sc) stable" > /etc/apt/sources.list.d/docker.list
然后更新系统后即可安装 Docker CE 和 Docker Compose 插件:
apt update
apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
此时可以使用 docker version
命令检查是否安装成功:
root@orion-o6:/home/radxa# docker version
Client: Docker Engine - Community
Version: 28.0.2
API version: 1.48
Go version: go1.23.7
Git commit: 0442a73
Built: Wed Mar 19 14:37:04 2025
OS/Arch: linux/arm64
Context: default
Server: Docker Engine - Community
Engine:
Version: 28.0.2
API version: 1.48 (minimum version 1.24)
Go version: go1.23.7
Git commit: bea4de2
Built: Wed Mar 19 14:37:04 2025
OS/Arch: linux/arm64
Experimental: true
containerd:
Version: 1.7.26
GitCommit: 753481ec61c7c8955a23d6ff7bc8e4daed455734
runc:
Version: 1.2.5
GitCommit: v1.2.5-0-g59923ef
docker-init:
Version: 0.19.0
GitCommit: de40ad0
使用 Docker 官方发布的 Github 直接安装最新版本:
curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-Linux-aarch64 > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
使用 docker-compose version
命令检查是否安装成功:
root@orion-o6:/home/radxa# docker-compose version
Docker Compose version v2.34.0
以下配置会增加一段自定义内网 IPv6 地址,开启容器的 IPv6 功能,以及限制日志文件大小,防止 Docker 日志塞满硬盘:
cat > /etc/docker/daemon.json << EOF
{
"log-driver": "json-file",
"log-opts": {
"max-size": "20m",
"max-file": "3"
},
"ipv6": true,
"fixed-cidr-v6": "fd00:dead:beef:c0::/80",
"experimental":true,
"ip6tables":true
}
EOF
然后重启 Docker 服务:
systemctl restart docker
至此,我们已经安装好了 Docker 和 Docker Compose,然后就可以安装各种软件。
首先从 GitHub Container Registry 中提取最新的 Open WebUI Docker 镜像。
docker pull ghcr.io/open-webui/open-webui:main
使用默认设置运行容器。此命令包含卷映射以确保持久数据存储。
docker run -d --network=host -v open-webui:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 --name open-webui --restart always ghcr.io/open-webui/open-webui:main
以上命令中的重要参数说明:
-v open-webui:/app/backend/data
):将本地的 open-webui
卷映射到容器内的 /app/backend/data
目录确保数据的持久存储。这可以防止容器重启期间数据丢失。-p 3000:8080
):在本地机器的端口 3000 上暴露 WebUI。-d
: 以守护进程模式运行容器,容器将在后台运行。--name open-webui
: 为容器指定一个名称 open-webui
,以便于管理和识别。--restart always
: 设置容器的重启策略为 always
,这意味着容器如果停止(例如由于崩溃或系统重启),Docker 会自动重启它。ghcr.io/open-webui/open-webui:main
: 使用来自 GitHub 容器注册表(GitHub Container Registry)的 open-webui
镜像,并指定使用 main
标签的版本。容器运行后,在浏览器中输入 http://开发板IP:8080 就能看到登录界面,第一次访问需要注册账号:
Open WebUI提供了一个直观的图形化界面,使用户可以方便地加载、配置、运行和监控各种 AI 模型,而无需编写代码或使用命令行界面。一旦 Open WebUI 开始运行,它将自动尝试连接到您的 Ollama 实例,您就可以立即管理和使用模型。
关于 Ollama 的安装和使用,请参考另一篇部署指南 使用 Ollama 管理和运行大模型。
要在 Open WebUI 中管理您的 Ollama 实例,请按照以下步骤操作:
配置好连接并下载模型后,您就可以开始使用 Ollama 和 Open WebUI 了。本次我们选择 Deepseek 蒸馏的 Qwen 1.8B 模型。在对话界面可以轻松进行聊天。
无论您是探索新模型还是运行现有模型,Open WebUI 都能让一切变得简单而高效。