Docker Deployment
新机或灾难恢复时的标准步骤。假设已满足 Requirements。
1. 安装 Docker
# 以 Ubuntu 为例,也可用官方 install script
sudo apt-get update
sudo apt-get install -y docker.io docker-compose-v2
sudo systemctl enable --now docker
2. 部署 Open WebUI
mkdir -p /root/openwebui
cd /root/openwebui
创建 docker-compose.yml(与生产一致,勿在仓库提交真实 Key):
version: "3.8"
services:
openwebui:
image: ghcr.io/open-webui/open-webui:main
container_name: openwebui
restart: unless-stopped
ports:
- "127.0.0.1:3002:8080"
volumes:
- openwebui-data:/app/backend/data
volumes:
openwebui-data:
启动:
docker compose up -d
3. 部署 LiteLLM
mkdir -p /root/litellm
# 放置 config.yaml、api_keys.env(chmod 600)、operation.sh
chmod +x /root/litellm/operation.sh
bash /root/litellm/operation.sh
operation.sh 会:
docker stop/rm litellm- 在
openwebui_default网络上启动新容器 - 映射
127.0.0.1:4001:4000
须先启动 Open WebUI 一次,以便 Compose 创建
openwebui_default网络。
4. 配置 Nginx + HTTPS
参考 Nginx HTTPS。
5. 配置 Open WebUI → LiteLLM
按 Connect LiteLLM 在管理后台填写 Base URL 与 master key。
6. 从备份恢复(可选)
若有 R2 归档:
# 见 /root/infra-backup/docs/runbook-restore.md
/root/infra-backup/restore/openwebui.sh /path/to/openwebui-YYYY-MM-DD.tar.gz
7. 验证清单
-
docker ps两容器 Up -
curl http://127.0.0.1:4001/→ 200 -
curl http://127.0.0.1:3002/→ 200/307 - HTTPS 域名可登录、流式对话正常
- cron 或手动跑通
backup/openwebui.sh
迁移备注
本机曾从 migration-backup 恢复卷:
docker run --rm \
-v openwebui_openwebui-data:/data \
-v ~/migration-backup:/backup \
alpine sh -c "rm -rf /data/* && tar xzf /backup/openwebui-volume.tar.gz -C /data"
新迁移建议统一走 infra-backup 的 tar.gz 格式。