Open WebUI本地部署教程:用Docker搭建专属AI工作台

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:

  1. 到 Open WebUI「设置」→「连接」→「OpenAI」
  2. API 地址填你的中转站地址,如 https://api.yourdomain.com/v1
  3. 填入 API Key
  4. 点「刷新」,应该能看到可用模型列表

也可以在 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 基于你的文档回答问题:

  1. 到「工作空间」→「知识」→「创建知识库」
  2. 上传文档(支持 PDF、TXT、Markdown、DOCX)
  3. 在对话时选择使用该知识库
  4. 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
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容