一、引言

近期,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服务器的URL

    docker 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 选择 backend\open_webui\main.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 各种配置的使用场景和规则,敬请期待!!!

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐