用Docker Compose部署Open WebUI:打造私人AI对话前端
教程导读
ChatGPT网页版很强大,但数据要上传到云端。如果你在本地用Ollama跑了模型,或者想搭建一个团队共享的AI对话界面,Open WebUI是目前最成熟的开源选择。

它提供了类ChatGPT的体验——对话历史、多模型切换、文件上传、代码高亮——全部运行在你自己的服务器上。本教程将从零开始,带你用Docker Compose一键部署。
准备工作
你需要一台安装了Docker和Docker Compose的机器(Linux/Mac/Windows均可)。如果还没装,运行:
# Ubuntu/Debian
sudo apt update && sudo apt install docker.io docker-compose-v2 -y
sudo systemctl enable --now docker
# macOS — 下载 Docker Desktop: https://www.docker.com/products/docker-desktop第一步:创建项目目录
mkdir ~/open-webui && cd ~/open-webui第二步:编写 docker-compose.yml
创建配置文件:
version: '3.8'
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
restart: unless-stopped
ports:
- "3000:8080"
volumes:
- ./data:/app/backend/data
environment:
# 如果本机有Ollama,直接连
- OLLAMA_BASE_URL=http://host.docker.internal:11434
# WebUI的访问域名
- WEBUI_URL=http://localhost:3000
extra_hosts:
- "host.docker.internal:host-gateway"第三步:启动服务
docker compose up -d首次启动会自动拉取镜像(约2GB),需要等待2-5分钟。启动完成后,打开浏览器访问 `http://localhost:3000`。
第四步:初始配置
首次访问需要创建管理员账户:
1. 点击「Sign up」注册账号(第一个注册的用户自动成为管理员)
2. 进入Settings → Connections,确认Ollama连接状态
3. 如需接入云端模型(如OpenAI),在Settings → Admin Settings中添加API Key
第五步:添加更多模型
Open WebUI支持连接多种后端:
Ollama本地模型(自动检测):
ollama pull qwen3
ollama pull deepseek-r1OpenAI兼容API(Settings → Connections):
– API URL: `https://api.openai.com/v1`
– API Key: 你的OpenAI密钥
LiteLLM网关(如果你按上一篇文章搭了):
– API URL: `http://localhost:4000/v1`
– API Key: 你设置的代理密钥
进阶配置:Nginx反向代理 + HTTPS
如果要开放外网访问,强烈建议配置HTTPS:
server {
listen 443 ssl;
server_name ai.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/ai.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ai.yourdomain.com/privkey.pem;
location / {
proxy_pass http://localhost: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;
}
}团队使用技巧
– 权限管理:管理员面板可以创建用户组,限制特定用户只能使用特定模型
– 对话分享:支持生成分享链接,免登录查看
– 模型评分:团队成员可以对模型回复打分,用于效果对比
– Web Search:可配置搜索引擎API,让AI支持联网搜索
**核心思路**:Open WebUI不只是一个「ChatGPT的替代品」——它是你AI基础设施的用户界面层,把所有模型能力统一到一个干净、可控的前端中。
企业级部署建议
如果你的团队超过20人使用,建议对默认配置做几个优化。首先,将SQLite数据库替换为PostgreSQL以提升并发读写能力——Open WebUI支持通过环境变量配置数据库后端,只需要在docker-compose中增加一个PostgreSQL服务并设置连接字符串。
其次,建议开启Redis缓存来加速对话历史的加载。对于频繁使用的模型响应,缓存可以降低90%以上的重复API调用,既节省成本也提升响应速度。
最后,如果你同时面向多个团队提供AI服务,可以利用Open WebUI的多工作空间(Workspace)功能为每个团队创建独立的对话空间和模型池。这样既避免了不同团队的对话历史互相干扰,也可以通过模型配额控制每个团队的成本消耗。
常见问题
Q: 太吃内存了怎么办?
A: 加环境变量 `- WEBUI_CPU_ONLY=true` 禁用GPU相关功能,内存占用可降低40%。
Q: 能对接企业内部SSO吗?
A: 支持OAuth2/OIDC,可以对接Keycloak、Auth0、Azure AD等。
Q: 移动端有App吗?
A: Open WebUI是PWA应用,在手机浏览器中打开后可以添加到主屏幕,体验接近原生App。
🔥 关注LC智趣厅,每周为你带来实用的AI开发技巧
👇 关注不错过,每天三分钟,AI世界尽在掌握
— END —
LC 智趣厅 · 科技与生活的交点
ihygg.cn
