家用伺服器折腾手记-3:Mac mini 部署 Open WebUI 教程 🤖

发布时间:2025-03-09 | 分类:服务器, Docker, AI

前言 📝

在前两篇文章中,我们已经在 Mac mini 上搭建了 Docker 环境并部署了 MoviePilot。这次我们将探索如何部署 Open WebUI,这是一个强大的本地 AI 模型管理和使用界面。Open WebUI 是一个完全离线运行的、可扩展的自托管 AI 平台,支持 Ollama 和 OpenAI 兼容的 API,并内置了 RAG(检索增强生成)推理引擎,是一个功能丰富的 AI 部署解决方案。

为什么选择 Open WebUI 🤔

相比其他 AI 模型管理工具,Open WebUI 具有以下优势:

环境准备 🛠️

在开始部署之前,请确保你已经安装了 Docker 和 Docker Compose。如果还没有安装,可以参考第一篇文章中的安装步骤。

1. 确认 Docker 环境

首先确保你的 Docker 环境正常运行:

docker --version
docker compose version

2. 创建工作目录

mkdir -p ~/docker/open-webui/{config,models}
cd ~/docker/open-webui

3. 拉取最新镜像

docker pull ghcr.io/open-webui/open-webui:main

部署 Open WebUI 🚀

以下配置已经过优化,适用于大多数使用场景。如果你有特殊需求,可以参考进阶设置部分进行调整。

1. 创建 Docker Compose 配置

在工作目录下创建 docker-compose.yml 文件:

version: '3'
services:
  open-webui:
    container_name: open-webui
    image: ghcr.io/open-webui/open-webui:main
    ports:
      - "3000:8080"
    volumes:
      - open-webui:/app/backend/data
    environment:
      - OLLAMA_BASE_URL=http://host.docker.internal:11434
    extra_hosts:
      - "host.docker.internal:host-gateway"
    restart: always

volumes:
  open-webui:

2. 启动服务

docker compose up -d

启动后,可以通过 http://localhost:3000 访问 Open WebUI 界面。

基础配置 ⚙️

1. 初始账户设置

首次访问时需要注意以下几点:

2. 连接 Ollama

确保 Ollama 服务已经启动并正常运行,否则 Open WebUI 将无法连接到模型服务。

Open WebUI 默认会尝试连接本地的 Ollama 服务(端口 11434)。如果你的 Ollama 运行在其他位置,需要修改 OLLAMA_BASE_URL 环境变量。

进阶设置 🎯

1. GPU 支持

如果你的设备有 NVIDIA GPU,可以通过以下方式启用 GPU 支持:

version: '3'
services:
  open-webui:
    # ... 其他配置 ...
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]
离线模式可以防止系统尝试从网络下载模型,适合在安全要求较高的环境中使用。

2. 离线模式

如果你希望完全离线运行,可以设置环境变量:

environment:
  - HF_HUB_OFFLINE=1

3. 自动更新

可以使用 Watchtower 自动更新容器:

docker run --rm \
  --volume /var/run/docker.sock:/var/run/docker.sock \
  containrrr/watchtower \
  --run-once open-webui

使用技巧 💡

1. 模型管理

2. 性能优化

常见问题 ❓

1. 连接问题

如果遇到连接错误,通常是因为容器无法访问 Ollama 服务。可以尝试以下解决方案:

2. 性能问题

如果遇到性能问题,可以:

后续计划 📅

在完成 Open WebUI 的部署和配置后,我们还可以进一步优化和扩展系统:

在下一篇文章中,我们将介绍如何使用 Open WebUI 搭建个人 AI 助手,包括模型选择、参数调优、提示词设计等内容,敬请期待!