用Docker Compose部署Open WebUI:打造私人AI对话前端

教程导读

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

用Docker Compose部署Open WebUI:打造私人AI对话前端封面

它提供了类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-r1

OpenAI兼容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

滚动至顶部
微信公众号:LC智趣厅

扫码关注微信公众号
LC智趣厅