【2025最新】DeepSeek-R1+Open-WebUI双系统部署全攻略:从Linux到Windows保姆级教程,手把手搭建可视化AI对话平台
【2025最新】DeepSeek-R1+Open-WebUI双系统部署全攻略:从Linux到Windows保姆级教程,手把手搭建可视化AI对话平台
- 一、引言
- 二、Open-WebUI 是什么?—— 开箱即用的AI对话可视化神器
- 2.1 概述
- 2.2 核心功能
- 2.3 适用场景
- 2.4 配置要求
- 三、Linux系统部署——Docker vs 裸机安装
- 3.1 Docker部署方案(推荐)
- 3.1.1 安装Docker服务
- 3.1.2 拉取镜像部署(国内镜像加速)
- 3.2 裸机部署方案
- 3.2.1 uv部署(推荐)
- 3.2.2 pip部署
- 四、Windows系统部署——Docker vs 裸机安装
- 4.1 Docker部署方案
- 4.2 裸机部署方案(推荐)
- 4.2.1 环境准备
- 4.2.2 拉取源码
- 4.2.3 构建前端
- 4.2.4 安装后端依赖(清华PyPI镜像)
- 4.2.5 启动服务
- 五、开发者加餐!!!—— 主打一个讲究😎
- 5.1 Intellij 运行 Open-WebUI 且 Debug 测试
- 5.1.1 安装PyCharm
- 5.1.2 打开Open-WebUI项目
- 5.1.3 配置启动项
- 5.1.4 启动项目
- 5.1.5 Debug测试
- 5.2 覆盖 Docker 容器部署的项目代码
- 六、总结 —— 有🌈🥚
一、引言
近期,DeepSeek凭借其高效的中文理解能力引爆AI社区,而Open-WebUI作为最受欢迎的可视化交互工具,二者结合成为本地部署的黄金组合。本文将详解Linux/Windows双环境下的部署方案,涵盖Docker与非Docker模式,助你快速搭建私有化AI平台!
二、Open-WebUI 是什么?—— 开箱即用的AI对话可视化神器
2.1 概述
Open WebUI 是一款专为大型语言模型(LLM)设计的 开源可视化交互框架,它通过简洁的Web界面,让用户无需编写代码即可与本地部署的AI模型/各大服务商提供大模型API(如DeepSeek、Llama、ChatGLM等)进行自然对话。其核心使命是 “让LLM私有化部署像打开浏览器一样简单” ,尤其适合需要快速搭建企业级AI平台或追求数据隐私的开发者。
2.2 核心功能
- 📦 零代码模型接入
支持通过API一键连接HuggingFace、Ollama、vLLM等主流模型服务,无需手动处理HTTP请求。 - 💬 类ChatGPT交互体验
提供多轮对话历史管理、Markdown渲染、代码高亮、文件上传等生产力功能。 - 🔌 插件化扩展系统
支持RAG(检索增强生成)、知识库对接、语音输入等插件,扩展AI能力边界。 - 🛡️ 私有化部署保障
所有数据运行在本地服务器,规避云端服务的隐私泄露风险。
2.3 适用场景
- 🔧 开发者测试:快速验证模型效果,无需搭建完整前后端
- 🏢 企业私有化:金融、医疗等敏感行业构建合规AI助手
- 🎓 教育科研:低成本部署教学实验平台,支持多学生并发
- 🖥️ 个人极客:在家庭NAS或旧电脑运行个人AI大脑
2.4 配置要求
硬件类型 | 最低配置 | 推荐配置 | 核心作用 |
---|---|---|---|
CPU | 4核 | 8核及以上 | 支持基础模型推理与并发请求 |
内存 | 4GB | 16GB+ | 保障大模型加载与多任务流畅运行 |
磁盘 | 20GB | 100GB+ SSD | 存储模型文件、日志及缓存数据 |
GPU | 非必需 | NVIDIA RTX 3090+ | 加速模型推理(需CUDA支持) |
Open-WebUI文档库
Open-WebUI官方 GitHub 源代码仓库
三、Linux系统部署——Docker vs 裸机安装
3.1 Docker部署方案(推荐)
3.1.1 安装Docker服务
如果你已安装Docker服务,跳到下一步;如果没有安装,参考这篇文章
3.1.2 拉取镜像部署(国内镜像加速)
注: 这里说明下,Ollama 是在本地部署大模型的工具
-
因我们是使用Ollama进行本地大模型的部署,所以对于不同的Ollama环境,我们的部署方式也是不同的。
Ollama 已经在本服务器上, 请使用以下命令:
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main
Ollama 在其他服务器上, 请使用以下命令:
注: 将参数中 OLLAMA_BASE_URL 的值替换为部署了Ollama服务器的URLdocker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main
-
如果选择不使用Ollama部署的本地大模型,完全采用调用各大服务商提供的大模型API,请使用以下命令:
docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:main
-
如果想使用 Ollama 但服务器上又没部署 Ollama,可以使用捆绑 Ollama 支持的 Open-WebUI,请使用以下命令:
注: 此命令会将 Ollama 与 Open-WebUI 部署在同一个容器内,后续要使用 Ollama 部署本地大模型,就需要去容器内操作docker run -d -p 3000:8080 -v ollama:/root/.ollama -v open-webui:/app/backend/data --name open-webui --restart always ghcr.nju.edu.cn/open-webui/open-webui:ollama
-
docker-compose部署
在服务器的任意位置新建一个 docker-compose.yaml 文件,复制下面脚本到文件中services: ollama: volumes: - ollama:/root/.ollama container_name: ollama pull_policy: always tty: true restart: unless-stopped image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/ollama/ollama:latest open-webui: build: context: . args: OLLAMA_BASE_URL: '/ollama' dockerfile: Dockerfile image: ghcr.nju.edu.cn/open-webui/open-webui:main container_name: open-webui volumes: - open-webui:/app/backend/data depends_on: - ollama ports: - 3000:8080 environment: - 'OLLAMA_BASE_URL=http://ollama:11434' - 'WEBUI_SECRET_KEY=' extra_hosts: - host.docker.internal:host-gateway restart: unless-stopped volumes: ollama: {} open-webui: {}
在 docker-compose.yaml 文件所在目录,执行以下命令以创建并后台启动所有容器
docker compose up -d
3.2 裸机部署方案
3.2.1 uv部署(推荐)
-
安装uv
curl -LsSf https://astral.sh/uv/install.sh | sh
-
运行Open-WebUI
DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve
3.2.2 pip部署
-
安装python
参考这篇文章
注: python推荐版本为3.11.x,官方有说明
-
安装Open-WebUI
pip install open-webui
-
启动Open-WebUI
open-webui serve
博主采用的是“捆绑 Ollama 支持的 Open-WebUI”部署方式,执行命令后的效果为
下载完后,我们执行 docker ps 命令
可以看到,容器成功启动,并且是健康状态;此时我们就可以访问 http://服务器ip:3000 进行聊天啦😄
四、Windows系统部署——Docker vs 裸机安装
4.1 Docker部署方案
注: Window系统的Dokcer部署Open-WebUI与Linux的Docker部署Open-WebUI方式是一模一样的,区别在于安装Docker服务有所不同的,我这里贴一下Windows安装Docker服务的参考文章,其他操作同3.1.2
4.2 裸机部署方案(推荐)
4.2.1 环境准备
-
安装python
参考这篇文章
注: python推荐版本为3.11.x,官方有说明
-
安装nodejs
参考这篇文章
注: nodejs推荐版本为22.x.x,官方有说明
-
安装git
参考这篇文章
4.2.2 拉取源码
-
在任意位置执行以下命令,拉取Open-WebUI源码
git clone https://github.com/open-webui/open-webui.git
拉取完的效果如下:
4.2.3 构建前端
- 在项目根目录下,执行以下命令,安装前端依赖
执行效果如下:npm install
- 然后执行以下命令,构建前端资源
执行效果如下:npm run build
当出现 done 时,表示构建成功;如果失败,删除项目根目录下的node_modules后,多试几次这两个命令
4.2.4 安装后端依赖(清华PyPI镜像)
- 执行以下命令,到后端资源文件目录下
执行效果如下:cd backend
- 然后执行以下命令,安装后端依赖
执行效果如下:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
4.2.5 启动服务
-
执行以下命令,启动服务
.start_windows.bat
执行后的效果如下:
当出现 Open-WebUI图形时,表示启动完成
这个时候我们可以访问 http://localhost:8080 进行聊天啦😄
五、开发者加餐!!!—— 主打一个讲究😎
5.1 Intellij 运行 Open-WebUI 且 Debug 测试
5.1.1 安装PyCharm
- 作为开发者,我就不多赘述了,自行安装啦
5.1.2 打开Open-WebUI项目
- 打开项目根目录下的backend目录,打开效果如下:
5.1.3 配置启动项
- 选择FastAPI
- Application file 选择 backendopen_webuimain.py 文件,Application name 填写 app
5.1.4 启动项目
- 直接启动
5.1.5 Debug测试
- 启动完成后,我们可以通过 http://localhost:8000 来访问页面,然后就可以愉快的Debug了
5.2 覆盖 Docker 容器部署的项目代码
当 Open-WebUI 目前版本满足不了我们的实际需求时,我们就需要对 Open-WebUI 项目进行二次开发;开发完后,对于Windows 本地项目是可以重启直接生效的,但 Docker 项目如何生效?
我们进入 Open-WebUI 容器内部,仔细观察会发现,主要是两个文件夹起作用(backend、build)
所以,我们只需要在 Windows 本地通过前面的命令 npm run build 将前端构建的资源包 build 和修改后的 backend 后端资源包,复制进容器,然后重启容器就可以生效了
六、总结 —— 有🌈🥚
通过本文,读者可依据实际需求灵活选择部署方案,构建稳定、高效的AI交互环境。无论是追求效率的运维人员,还是热衷定制的开发者,均可从中获得可复用的实践经验。立即行动,开启您的私有化AI之旅吧! 🚀
下篇文章将详细介绍 Open-WebUI 各种配置的使用场景和规则,敬请期待!!!