Open WebUI 是一个开源、自托管的 AI Web 界面,常用来搭配 Ollama、本地大模型、OpenAI 兼容 API、LiteLLM、New API 或各种中转服务。它的体验类似 ChatGPT,但数据和配置可以放在自己的服务器上。
一、准备环境
- 一台 Linux VPS 或本地服务器。
- Docker 和 Docker Compose。
- 建议内存 2GB 起步,如果跑本地模型建议 8GB 以上。
- 如果只连接外部 API,普通小 VPS 也可以运行。
sudo apt update sudo apt install -y curl ca-certificates gnupg curl -fsSL https://get.docker.com | sudo bash sudo systemctl enable --now docker
二、最简单 Docker 安装
Open WebUI 官方镜像同时发布在 GitHub Container Registry 和 Docker Hub。两种方式二选一即可,不要两个命令混着复制。
方式 A:GitHub Container Registry 安装
如果你的服务器访问 GitHub Container Registry 正常,可以使用 GHCR 镜像:
docker pull ghcr.io/open-webui/open-webui:main docker run -d \ -p 3000:8080 \ -v open-webui:/app/backend/data \ --name open-webui \ --restart always \ ghcr.io/open-webui/open-webui:main
方式 B:Docker Hub 安装
如果你的服务器访问 Docker Hub 更稳定,可以使用 Docker Hub 镜像:
docker pull openwebui/open-webui:main docker run -d \ -p 3000:8080 \ -v open-webui:/app/backend/data \ --name open-webui \ --restart always \ openwebui/open-webui:main
启动后打开:
http://服务器IP:3000
首次访问会创建管理员账号。第一个注册用户通常会成为管理员。
三、Docker Compose 部署
长期运行推荐写成 docker-compose.yml,后续升级和迁移更方便。下面示例默认使用 GHCR 镜像;如果你想用 Docker Hub,把 image 改成 openwebui/open-webui:main 即可。
mkdir -p ~/open-webui && cd ~/open-webui nano docker-compose.yml
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
restart: always
ports:
- "3000:8080"
volumes:
- open-webui:/app/backend/data
environment:
- WEBUI_SECRET_KEY=请改成随机长字符串
volumes:
open-webui:
docker compose up -d docker compose logs -f
WEBUI_SECRET_KEY 建议固定设置,否则重建容器后可能导致登录状态失效。生成方法:
openssl rand -hex 32
四、连接 Ollama
如果 Ollama 和 Open WebUI 在同一台机器或另一个服务器上,可以通过 OLLAMA_BASE_URL 指定地址。
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://你的Ollama地址:11434 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
如果想一体化容器,Open WebUI 也提供带 Ollama 的镜像:
docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:ollama
五、连接 OpenAI 兼容 API
进入 Open WebUI 后台设置,在 Connections 或 Models 相关配置里添加 OpenAI-compatible API:
- Base URL:例如 https://api.example.com/v1
- API Key:你的中转站或模型服务 API Key
- 模型名:按服务端支持填写,例如 gpt-4o-mini、claude-sonnet、gemini-pro 等
如果你使用的是 New API、One API、LiteLLM、Sub2API、CLIProxyAPI 等兼容 OpenAI 的服务,通常都可以通过 Base URL + API Key 接入。
六、反向代理和 HTTPS
生产环境建议不要直接暴露 3000 端口,而是使用 Nginx/Caddy 反代,并配置 HTTPS。Open WebUI 需要 WebSocket 支持,反代时要保留 Upgrade 头。
server {
listen 80;
server_name webui.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
七、更新 Open WebUI
如果你使用 GHCR 镜像,手动更新容器:
docker rm -f open-webui docker pull ghcr.io/open-webui/open-webui:main docker run -d \ -p 3000:8080 \ -v open-webui:/app/backend/data \ --name open-webui \ --restart always \ ghcr.io/open-webui/open-webui:main
如果你使用 Docker Hub 镜像,手动更新容器:
docker rm -f open-webui docker pull openwebui/open-webui:main docker run -d \ -p 3000:8080 \ -v open-webui:/app/backend/data \ --name open-webui \ --restart always \ openwebui/open-webui:main
Docker Compose 部署则使用:
docker compose pull docker compose up -d
八、备份和迁移
Open WebUI 的核心数据在 /app/backend/data,对应 Docker volume:open-webui。迁移前建议停止容器并备份 volume。
docker stop open-webui docker run --rm -v open-webui:/data -v $(pwd):/backup alpine tar czf /backup/open-webui-backup.tar.gz -C /data .
九、安全建议
- 公网部署一定要开启登录认证,不要随便设置 WEBUI_AUTH=False。
- 后台管理员密码使用强密码。
- 反向代理加 HTTPS,必要时加 Cloudflare Access 或 Basic Auth。
- 不要把 API Key 暴露在截图、公开配置或仓库里。
- 生产环境建议固定镜像版本,不要盲目追 main。
十、总结
Open WebUI 是目前很受欢迎的自托管 AI 前端。个人使用可以连接 Ollama 或外部 API,团队使用可以统一管理模型入口、知识库和聊天体验。最简单的部署方式是 Docker;长期使用建议 Docker Compose + 反向代理 + HTTPS。