使用 Docker 和持久化存储部署 Open WebUI

使用 Docker 运行 Open WebUI、持久化应用数据、连接 Ollama,并补充官方文档建议的生产环境安全措施。

系统结构

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 可用。命名数据卷可以让应用数据独立于容器生命周期。

bash
docker --version
docker volume create open-webui

预期结果: 命令无错误完成,并且本步骤描述的服务或文件已经可用。

第 2 步:生成固定的应用密钥

生成足够长的随机值,并保存到仅管理员可读的环境文件或密钥管理系统中。重启和升级后必须继续使用同一密钥。

bash
openssl rand -hex 32

预期结果: 命令无错误完成,并且本步骤描述的服务或文件已经可用。

第 3 步:启动 Open WebUI

该体验命令会持久化数据,并允许容器访问宿主机上的 Ollama。请替换示例密钥;生产环境应固定经过测试的镜像标签。

bash
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 步:验证容器状态

绑定域名或开放防火墙规则前,先在本机检查容器状态和日志。

bash
docker ps --filter name=open-webui
docker logs --tail=100 open-webui
curl -I http://127.0.0.1:3001

预期结果: 命令无错误完成,并且本步骤描述的服务或文件已经可用。

第 5 步:配置 Caddy 与 HTTPS

通过 Caddy 反向代理本地端口,保持容器端口不直接对外,并在创建管理员后确认注册策略。

bash
# openwebui.example.com {
#   reverse_proxy 127.0.0.1:3001
# }

预期结果: 命令无错误完成,并且本步骤描述的服务或文件已经可用。

相关服务器方案

需要运行环境时再考虑

以下方案与本文场景相关。价格和配置会变化,请在购买前重新核对;通过链接购买时 AIOOS 可能获得佣金,但不会增加你的价格。

雨云

雨云洛杉矶一区 2 核 4GB

这是与文章场景相关的服务器方案;购买前请核对实时价格、地区、IP、带宽和工作负载。

2 vCPU · 4 GB · 30 GB system disk
查看当前方案
我正在使用 · 推广推荐

准备上线时,可以再比较这两项服务

这不是自动排名,也不是每个人都需要购买。我只列出自己正在使用的入口,并把适用场景和限制说清楚。

云服务器 · 前期项目在用

雨云 RainYun

准备部署网站或小型服务时,可以把它作为入门候选;先按用户地区、配置和真实负载判断,不要只看最低价格。

推广说明:链接包含我的推荐信息。你通过链接注册或开通后,我可能获得平台奖励;不会因此向你额外收费。价格、活动、地区与服务条款请以下单页为准。 查看完整商业披露