Ollama搭配Open WebUI可视化中转网关搭建
零基础搭建 Ollama 搭配 Open WebUI 可视化中转网关教程
经常有人问:在服务器上装好了 Ollama,但每次都要敲命令行调用模型,太不直观。
本文带你用 Open WebUI 给 Ollama 加一个网页界面,同时把它当作可视化中转网关,把 Ollama 的 API 包装成浏览器可访问的服务。
适合刚接触 Linux 和 Docker 的新手,按下面步骤操作,大约 20 分钟就能完成。
准备工作:一台 Linux 服务器和 Docker
建议使用 Ubuntu 22.04 或 Debian 12,内存不低于 8GB(跑 7B 模型需要)。
需要提前装好 Docker,可用官方脚本:
curl -fsSL https://get.docker.com | sh
systemctl enable --now docker
如果服务器在国内,建议同时配置 Docker 镜像加速,避免拉取镜像超时。
第一步:安装并启动 Ollama
在服务器上执行官方安装脚本:
curl -fsSL https://ollama.com/install.sh | sh
安装完成后,服务默认监听 11434 端口。
检查状态:
systemctl status ollama
确认 active 后,拉取一个主流模型:
ollama pull qwen2.5:7b
拉取时间取决于网络,完成后用 ollama list 能看到模型列表。
第二步:用 Docker 部署 Open WebUI 并连接 Ollama
Open WebUI 是开源项目,一般用 Docker 运行。
这里关键是让容器能访问到宿主机上的 Ollama API,也就是“中转网关”的核心:
docker run -d \
--name open-webui \
-p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
-v open-webui:/app/backend/data \
--restart always \
ghcr.io/open-webui/open-webui:main
解释一下参数:-p 3000: 把容器 8080 端口映射到服务器 3000;
8080--add-host 让容器可以用 host.docker.internal 指向宿主机;-e OLLAMA_BASE_URL 告诉 Open WebUI 去哪里找 Ollama 的 API;-v 挂载数据目录,
防止容器重建后配置丢失。
等待镜像拉取并启动后,访问 http://服务器IP:3000,注册第一个账号即成为管理员。
常见坑:连不上、模型下载慢、端口打不开
- Open WebUI 界面报“Unable to connect to Ollama”:先确认宿主机能访问 Ollama,执行
curl http://localhost:11434。再确认容器内能访问,执行docker exec open-webui curl http://host.docker.internal:11434。如果不通,检查防火墙和 Docker 网络。 - 模型下载很慢:Ollama 默认从官方源下载,可以设置国内镜像环境变量
OLLAMA_HOST或手动下载 GGUF 文件导入。 - 3000 端口外网无法访问:云服务器安全组和系统防火墙都要放行。Ubuntu 执行
ufw allow 3000/tcp,云控制台再添加规则。
验证并开始使用
在 Open WebUI 页面左侧选择模型(例如 qwen2.5:7b),输入问题并发送。
如果正常返回回答,说明 Ollama 搭配 Open WebUI 的可视化中转网关已经搭建成功。
建议接着配置 HTTPS 反向代理(如 Nginx + certbot),把 3000 端口改为域名访问。
整个流程中所有数据都存在 open-webui 卷中,后续升级容器时不会丢失对话记录。
如果你在配置过程中遇到其他异常,优先查看容器日志:docker logs -f open-webui,根据报错信息再做调整。