自行托管 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 下载: