自行托管 Open WebUI + Ollama 在生产环境中 —— 没人写的配置

发布: (2026年4月17日 GMT+8 17:38)
2 分钟阅读
原文: Dev.to

Source: Dev.to

技术栈

  • ollama – 大语言模型运行器
  • openwebui – 聊天 UI
  • nginx – 反向代理 + SSL

让大家卡住的 nginx 配置

Open WebUI 使用 WebSocket 进行流式传输。如果没有正确的头部,响应会一直挂起。

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 300s;

同时为文档和图片设置更大的上传限制:

client_max_body_size 50M;

锁定认证

默认情况下 Open WebUI 允许任何人注册。针对团队部署,添加以下环境变量:

WEBUI_AUTH=true
ENABLE_SIGNUP=false

现在只有管理员可以创建账户。再添加你的 SMTP 配置以发送邮件邀请。

GPU 直通(NVIDIA)

docker-compose.yml 中,取消注释以下部分以将 GPU 暴露给容器:

deploy:
  resources:
    reservations:
      devices:
        - driver: nvidia
          count: all
          capabilities: [gpu]

安装 NVIDIA 容器工具包并重启 Docker。若不这样做,Ollama 会回退到 CPU(仍可工作,但速度会慢很多)。

自动备份

运行以下命令备份 Open WebUI 数据卷:

docker run --rm \
  --volumes-from "$(docker compose ps -q openwebui)" \
  -v "$(pwd)/backups:/backup" \
  alpine \
  tar czf "/backup/openwebui_$(date +%Y%m%d).tar.gz" /app/backend/data

添加每日定时任务(例如凌晨 2 点)实现自动备份:

0 2 * * * /opt/openwebui/scripts/backup.sh

推荐的免费 VPS

Oracle Cloud Always Free – 4 vCPU / 24 GB RAM(ARM)。足以运行 Llama 3.2(2 B)并支持小团队使用。

完整套件

上述所有文件已打包成 ZIP,包含:

  • docker-compose.yml
  • Nginx 配置
  • 备份和模型脚本
  • .env.example

可从 Gumroad 下载:

https://peachjed.gumroad.com/l/cazucc

0 浏览
Back to Blog

相关文章

阅读更多 »

地球日的活力

我构建的 History 按日历天在浏览器中保存;每个部分旁边的照片是真实的捆绑图像。可选的 Gemini API 路由可以添加温暖的教练……