目前 Open WebUI 最便捷的部署方式是通过 docker 部署,一行命令就搞定了:
$ docker run -d-p7777:8080 ghcr.io/open-webui/open-webui
相对于 chatbox 、cherry studio 等CS架构,Open WebUI 是基于BS架构的。使用BS架构的好处是服务搭建好后,其他人不用安装软件就可以直接通过浏览器使用。
与其他ollama客户端相比,它可以控制选择公开的模型,而非将 ollama 上所有的模型都暴露出来。大多数 ollama 服务器不会只装一种模型,一般会依次尝试deepseek-r1:1.5b、14b、32b、70b 直到 671b
通过跑不同的模型,测试服务器能流畅运行的最大模型,最终选择一个最适合服务器性能的模型。而其它模型不打算对外公开,这在 Open WebUI 中是可以配置的:
通过勾选指定的模型,让用户只能使用默认模型,而不是切换不同的模型。同时运行不同尺寸的模型会消耗大量的资源,特别是用户误选不合适的模型会造成服务器异常,比如 deepseek-r1:671b 模型会消耗掉400G以上的内存或显存。如果服务器内存不足,可能会导致服务器崩溃。
为了安全,删掉不用的模型可不可以?当然这样做也不是不行,但已经下载的模型耗费了大量的带宽,为了权限控制删掉这些模型太可惜了。推荐的做法是只公开能用的模型,其它模型不公开,让用户无法选择即可。
Open WebUI 在部署上有很多细节,这里推荐的方法是 ollama 和 Open WebUI 分开部署。后期在 Open WebUI 中指定 Ollama 的管理地址:
保存好的配置会存到sqllite数据库文件中,如果需要保存配置,可以在创建时挂载卷指定数据文件位置:
$ docker run -d -p 7777:8080
-v /localdb/open-webui:/app/backend/data
ghcr.io/open-webui/open-webui
也可以在创建 docker 时指定 ollama 管理地址:
$ docker run -d -p 7777:8080
-e OLLAMA_BASE_URL=http://192.168.1.1:11434
-v /localdb/open-webui:/app/backend/data
ghcr.io/open-webui/open-webui
$ docker run -d -p 7777:8080
-e WEBUI_AUTH=False
ghcr.io/open-webui/open-webui
更多 docker 命令可以查看它的 github 项目文档:
https://github.com/open-webui/open-webui
需要注意的是 Open WebUI 的密码登录实际上使用的是默认管理员账号,所有人都有 Open WebUI 的管理员权限,并且会共用会话。也就是其他人问的问题,你也能看到,缺少隐私。
Ollama 的管理员权限是可以删模型的,一般需要配置 iptables 安全策略,只暴露给接口服务器使用。Open WebUI 的免密登录比较危险不建议公开给所有人使用,最好还是通过用户权限管理起来。
原文始发于微信公众号(生有可恋):如何部署Open WebUI
评论