Open WebUI Docker 容器化部署最佳实践
Open WebUI 是一款可扩展、功能丰富且用户友好的自托管 WebUI,设计用于完全离线操作,支持各种大型语言模型(LLM)运行器,包括 Ollama 和兼容 OpenAI 的 API。本文将详细介绍如何通过 Docker 容器化方式部署 Open WebUI,涵盖基础部署、GPU 加速、数据持久化、高级配置及最佳实践指南,帮助用户快速搭建稳定高效的 AI 交互平台。
部署架构概览
Open WebUI 的 Docker 部署采用多容器架构,通过 Docker Compose 实现服务编排。核心组件包括 Ollama 服务(模型运行时)和 Open WebUI 应用服务,两者通过内部网络通信,形成完整的本地 AI 服务栈。
主要容器及数据卷说明:
- ollama 容器:运行 Ollama 模型引擎,负责模型加载和推理计算
- open-webui 容器:提供 Web 界面和 API 服务,处理用户交互和请求转发
- 数据卷:
ollama卷存储模型权重和运行时数据,open-webui卷保存用户配置、对话历史和应用状态
环境准备与依赖检查
在开始部署前,需确保系统满足以下要求:
系统要求
- Docker Engine 20.10+ 和 Docker Compose v2+
- 至少 4GB RAM(推荐 8GB+,用于模型运行)
- 10GB+ 可用磁盘空间(用于基础镜像和模型存储)
- 网络连接(用于拉取镜像和模型,部署后可离线运行)
依赖检查命令
# 检查 Docker 版本
docker --version && docker compose version
# 验证 Docker 服务状态
systemctl status docker || service docker status
如未安装 Docker,可参考官方安装指南。对于 GPU 支持,还需安装 NVIDIA Container Toolkit。
基础部署步骤
Open WebUI 提供多种部署方式,推荐使用官方提供的 docker-compose.yaml 进行一键部署,自动处理服务依赖和网络配置。
1. 获取项目代码
git clone https://github.com/open-webui/open-webui.git
cd open-webui
2. 启动基础服务
使用默认配置启动 Ollama 和 Open WebUI 服务:
# 使用默认配置启动
docker compose up -d
# 或使用官方提供的启动脚本
bash run-compose.sh
docker-compose.yaml 定义了基础服务配置,包括:
- Ollama 服务使用官方镜像,配置自动重启和数据卷挂载
- Open WebUI 服务从本地构建,通过内部网络连接 Ollama
- 默认映射 WebUI 端口 3000,可通过环境变量
OPEN_WEBUI_PORT修改
3. 验证部署状态
# 检查容器状态
docker compose ps
# 查看服务日志
docker compose logs -f open-webui

