系统结构
Open WebUI 提供浏览器界面,Ollama 或其他兼容后端负责模型推理。两者可以运行在同一主机,也可以分开部署。推理主机应按模型选择资源;Open WebUI 主机则按用户数量、上传文件和应用服务估算。
数据与密钥
必须将 /app/backend/data 挂载到持久化存储。官方快速入门还建议生产环境使用固定的 WEBUI_SECRET_KEY。丢失数据卷或密钥都可能影响会话与应用数据。
镜像版本策略
main 镜像适合快速体验。生产环境应选择并测试明确的发布标签,记录当前版本,并在阅读更新说明后有计划地升级。
公网访问检查
- 条件允许时,仅在私有接口绑定容器端口。
- 使用 Caddy 配置 HTTPS 和稳定域名。
- 除非明确提供公共服务,否则关闭公开注册。
- 每次升级前备份持久化数据卷。
- 保持 Ollama 仅内部访问,对外提供 Open WebUI,而不是原始模型 API。
资料来源
每次升级前,请在 Open WebUI 官方快速入门 中确认当前命令和环境变量。
环境与配置要求
- 操作系统:安装 Docker 的 Linux
- CPU:仅运行 Web 界面最低 2 核
- 内存:不含模型推理时最低 4 GiB
- 存储:20 GiB SSD,并为上传文件配置持久化空间
- 网络:私有 Ollama 连接与公开 HTTPS 入口
第 1 步:准备 Docker 与持久化存储
确认 Docker 可用。命名数据卷可以让应用数据独立于容器生命周期。
docker --version
docker volume create open-webui预期结果: 命令无错误完成,并且本步骤描述的服务或文件已经可用。
第 2 步:生成固定的应用密钥
生成足够长的随机值,并保存到仅管理员可读的环境文件或密钥管理系统中。重启和升级后必须继续使用同一密钥。
openssl rand -hex 32预期结果: 命令无错误完成,并且本步骤描述的服务或文件已经可用。
第 3 步:启动 Open WebUI
该体验命令会持久化数据,并允许容器访问宿主机上的 Ollama。请替换示例密钥;生产环境应固定经过测试的镜像标签。
docker run -d -p 127.0.0.1:3001:8080 --add-host=host.docker.internal:host-gateway -e OLLAMA_BASE_URL=http://host.docker.internal:11434 -e WEBUI_SECRET_KEY='replace-with-a-long-random-value' -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main预期结果: 命令无错误完成,并且本步骤描述的服务或文件已经可用。
第 4 步:验证容器状态
绑定域名或开放防火墙规则前,先在本机检查容器状态和日志。
docker ps --filter name=open-webui
docker logs --tail=100 open-webui
curl -I http://127.0.0.1:3001预期结果: 命令无错误完成,并且本步骤描述的服务或文件已经可用。
第 5 步:配置 Caddy 与 HTTPS
通过 Caddy 反向代理本地端口,保持容器端口不直接对外,并在创建管理员后确认注册策略。
# openwebui.example.com {
# reverse_proxy 127.0.0.1:3001
# }预期结果: 命令无错误完成,并且本步骤描述的服务或文件已经可用。
需要运行环境时再考虑
以下方案与本文场景相关。价格和配置会变化,请在购买前重新核对;通过链接购买时 AIOOS 可能获得佣金,但不会增加你的价格。
雨云洛杉矶一区 2 核 4GB
这是与文章场景相关的服务器方案;购买前请核对实时价格、地区、IP、带宽和工作负载。
2 vCPU · 4 GB · 30 GB system disk