Open WebUI 是什么
Open WebUI(前身是 Ollama WebUI)是一个开源的 AI 对话界面,可以连接 Ollama、OpenAI、以及其他 OpenAI 兼容 API,提供一个类似 ChatGPT 的网页界面,让你在本地或私有服务器上拥有自己的 AI 工作台。
项目地址:https://github.com/open-webui/open-webui
核心功能:
- 支持 Ollama 本地模型和 OpenAI 兼容 API
- 多用户管理,可以给团队成员分配不同权限
- 知识库 RAG:上传文档让 AI 基于文档回答
- 对话历史管理、模型切换、提示词模板
- 支持 Web 搜索、图片生成等插件
- 界面好看,支持暗色主题
环境要求
- Linux 服务器(推荐 2 核 4G 以上)
- Docker 和 Docker Compose
- 如果要用 Ollama 本地模型,建议有 GPU(NVIDIA 显卡 + CUDA)
- 如果只接 OpenAI 等远程 API,不需要 GPU
方式一:Docker 部署(推荐)
1. 安装 Docker
curl -fsSL https://get.docker.com | bash -s docker
systemctl enable docker && systemctl start docker
2. 创建 docker-compose.yml
mkdir -p /opt/open-webui && cd /opt/open-webui
创建 docker-compose.yml:
version: '3.8'
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
restart: always
ports:
- "3001:8080"
volumes:
- open-webui-data:/app/backend/data
environment:
- WEBUI_AUTH=true
- DEFAULT_MODELS=llama3.2
- OLLAMA_BASE_URL=http://host.docker.internal:11434
- ENABLE_SIGNUP=true
volumes:
open-webui-data:
环境变量说明:
WEBUI_AUTH=true:启用登录认证DEFAULT_MODELS:默认选中的模型OLLAMA_BASE_URL:Ollama 服务地址。如果 Ollama 装在宿主机上,用http://host.docker.internal:11434(Docker Desktop)或http://172.17.0.1:11434(Linux 原生 Docker)ENABLE_SIGNUP=true:允许新用户注册。生产环境建议关闭
3. 启动
docker compose up -d
查看日志:
docker compose logs -f --tail=30
首次启动会比较慢,需要初始化数据库。
4. 访问
浏览器打开 http://你的IP:3001,首次访问需要注册管理员账号。
方式二:连接 Ollama 本地模型
1. 安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh
2. 拉取模型
# 拉取 Llama 3.2(约 2GB)
ollama pull llama3.2
# 拉取 Qwen 2.5(中文更好)
ollama pull qwen2.5:7b
# 查看已安装模型
ollama list
3. 确保 Ollama 监听所有地址
默认 Ollama 只监听 127.0.0.1,Docker 容器访问不到。需要修改:
# 编辑 Ollama 服务配置
sudo systemctl edit ollama
添加:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
重载并重启:
sudo systemctl daemon-reload
sudo systemctl restart ollama
4. 在 Open WebUI 中添加 Ollama
登录 Open WebUI 后,到「设置」→「连接」→「Ollama」:
- API 地址填:
http://172.17.0.1:11434(Linux Docker) - 或
http://host.docker.internal:11434(Docker Desktop) - 点「刷新」按钮,应该能看到已拉取的模型
方式三:连接 OpenAI 兼容 API
如果你有 New API 中转站或其他 OpenAI 兼容 API:
- 到 Open WebUI「设置」→「连接」→「OpenAI」
- API 地址填你的中转站地址,如
https://api.yourdomain.com/v1 - 填入 API Key
- 点「刷新」,应该能看到可用模型列表
也可以在 docker-compose.yml 里预设:
environment:
- OPENAI_API_BASE_URLS=https://api.yourdomain.com/v1
- OPENAI_API_KEYS=sk-your-key-here
Nginx 反向代理 + HTTPS
生产环境建议配域名和 HTTPS:
server {
listen 443 ssl http2;
server_name chat.yourdomain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://127.0.0.1:3001;
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;
# WebSocket 支持(实时对话需要)
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# 长连接超时
proxy_read_timeout 300s;
proxy_send_timeout 300s;
}
}
知识库(RAG)使用
Open WebUI 内置 RAG 功能,可以让 AI 基于你的文档回答问题:
- 到「工作空间」→「知识」→「创建知识库」
- 上传文档(支持 PDF、TXT、Markdown、DOCX)
- 在对话时选择使用该知识库
- AI 会基于知识库内容回答,不再瞎编
适合场景:产品文档问答、内部知识库、技术支持文档。
更新 Open WebUI
cd /opt/open-webui
# 拉取最新镜像
docker compose pull
# 重建容器(数据不会丢失,因为用了 volume)
docker compose up -d
# 查看版本
docker compose logs -f --tail=10
常见问题
Q1:首次访问一直转圈 / 加载慢
- 首次启动需要初始化数据库,等 1-2 分钟
- 查看日志确认没有报错:
docker compose logs --tail=50 - 服务器内存不足也会导致慢,建议至少 2G
Q2:添加 Ollama 后看不到模型
- 确认 Ollama 已修改监听地址为
0.0.0.0 - 确认 URL 填写正确(
http://172.17.0.1:11434) - 在宿主机测试:
curl http://localhost:11434/api/tags,应该返回模型列表
Q3:对话报错 “Connection refused”
- 检查后端 API 或 Ollama 是否在运行
- Docker 容器间的网络是否通:
docker exec open-webui curl http://172.17.0.1:11434
Q4:想限制只有自己能注册
关闭公开注册:
# docker-compose.yml
environment:
- ENABLE_SIGNUP=false
然后 docker compose up -d 重建。已经注册的用户不受影响。
Q5:想在公网使用但怕安全风险
- 必须配 HTTPS
- 关闭公开注册,只允许邀请制
- 在 Nginx 层加 Basic Auth 或 IP 白名单
- 定期更新 Open WebUI 到最新版本
小结
Open WebUI 是目前最好用的开源 AI 对话界面之一。Docker 部署非常简单,接 Ollama 可以跑本地模型,接 OpenAI 兼容 API 可以用云端模型。知识库 RAG 功能让它不只是聊天工具,更是实用的 AI 工作台。
来源:
© 版权声明
THE END
















暂无评论内容