概述

DeepSeek 是一款由国内人工智能公司研发的大型语言模型,实现了媲美 OpenAI-o1 模型的效果,拥有强大的自然语言处理能力,还大幅降低了推理模型的成本,受到海内外用户的广泛吹捧。 DeepSeek 作为一个开源的大语言模型,我们可以通过 ZeroNews + openWebUI + ollama 的方式,轻松的在本地私有化部署 DeepSeek,不受网络攻击影响,满足不同用户的需求场景。 下面以在 Ubuntu 系统为例,部署 ZeroNews +Open WebUI + Ollama,构建自己的 DeepSeek 平台

部署步骤

我们通过 Docker 容器的方式部署 ZeroNews 内网穿透及 Open WebUI,需提前安装好 Docker

第一步:部署 Ollama

Ollama 是一个用于管理和部署机器学习模型的工具。专注于简化模型的下载、配置和运行过程,我们通过 ollama 下载并运行 DeepSeek 大语言模型

安装 Ollama

在 ubuntu 系统通过一条命令部署 ollama 本地模型
curl -fsSL https://ollama.com/install.sh | sh
修改 ollama 的本地监听 IP 地址, 将 Environment=“OLLAMA_HOST=0.0.0.0” 添加到 ollama 的系统服务文件( /etc/systemd/system/ollama.service)中 img 重启 ollama 服务
sudo systemctl daemon-reload
sudo systemctl restart ollama
在浏览器中,输入 http://{主机 ip}:11434, 检查 ollama 是否正常运行, 显示 “Ollama is running”, 表示 ollama 运行正常 img

下载 DeepSeek 大语言模型

在 Ollama 官网 ( https://ollama.com/ ) 中,可以查看支持的 DeepSeek 版本,我们根据自己的需求下载对应的模型版本即可 img 下面以 deepseek-r1:8b 为例,下载 deepseek-r1:8b 模型
ollama run deepseek-r1:8b
img deepseek 大语言模型下载完成后,接下来部署 Open WebUI

第二步: 部署 Open WebUI

OpenWebUI 是一个开源的 Web 用户界面框架,为各种应用程序提供现代化的、响应式的用户界面,其构建一个用户友好的 Web 界面,来管理和监控通过 Ollama 部署的机器学习模型。 我们通过 Docker 容器方式部署 Open WebUI

拉取 Open WebUI 镜像

通过以下命令,从 Open WebUI 官方 GitHub Container Registry (GHCR) 仓库拉取镜像
docker pull ghcr.io/open-webui/open-webui:main

启动 Open WebUI 容器

先创建一个用于 Open WebUI 容器本地存储的本地目录
mkdir /opt/openwebui
通过以下命令启动容器,容器名称 deepseek, 映射本地 8080 端口号, 并挂载本地目录 /opt/openwebui 到容器的 /app/backend/data
docker run -d -p 8080:8080 --add-host=host.docker.internal:host-gateway -v /opt/openwebui:/app/backend/data --name deepseek --restart always ghcr.io/open-webui/open-webui:main
Open WebUI 容器启动完成后,就可以在浏览器中输入 http://{主机 IP}:3000 访问 Open WebUI img

第三步: 部署 ZeroNews 内网穿透

我们通过 Docker 容器方式部署 ZeroNews 内网穿透

选择快速开始方式

登录 https://user.zeronews.cc ,在快速页面,选择 ZeroNews 公共仓库(国内),按步骤操作。 img

按步骤运行 ZeroNews 服务

通过以下命令在 ZeroNews 官方仓库下载 ZeroNews 容器镜像
sudo docker pull docker.zeronews.cc/zeronews/zeronews:latest
创建数据目录并启动容器
选择 Docker Run 方式运行,执行如下命令
sudo mkdir -p /opt/zeronews
sudo docker run -d --name zeronews --net host \
  -v /opt/zeronews:/etc/zeronews \
  -e TOKEN=<your token> \
  docker.zeronews.cc/zeronews/zeronews:latest
请复制快速开始页面的 AuthToken 替换 <your token> 占位符。

查看运行中的 客户端 状态

ZeroNews 容器启动成功后,在 ZeroNews 控制台「关联客户端」页面查看已上线的 ZeroNews 容器设备。

第四步: 为 Open WebUI 添加域名及隧道

为 Open WebUI 平台添加域名及端口

在 ZeroNews 控制台的「自定义域名」管理页面,添加域名(以 deepseek 为例):
  1. 在「域名类型」中选择「默认域名」,并在「子域名前缀」中输入 deepseek,然后点击「域名可用性检测」
  2. 若下方「接入域名」显示为「可注册」,则表示该域名当前可添加使用,点击单选框选择该域名
  3. 点击「提交」,完成域名添加
img

为 Open WebUI 平台添加公网隧道

在 ZeroNews 管理平台的 “隧道管理” 页面下,添加隧道
  1. 选择隧道模式
    • 在“隧道模式”下拉框中,保持选择 “标准隧道”
  2. 选择隧道特性
    • 在“隧道特性”下拉框中,选择 “Raw”(这是默认的透传模式)
  3. 配置协议与带宽
    • 隧道协议:选择 “HTTPS”
    • 带宽(Mbps):在输入框中填写所需的带宽数值(例如 1)
  4. 设置公网域名
    • 在“公网域名”选项中,点击选择 “自定义域名”
    • 在下方的“选择自定义域名”下拉框中,选择刚才添加的域名,例如 deepseek.hn.takin.cc
  5. 配置内网映射信息
    • 绑定设备:点击下拉框选择需要绑定的在线设备
    • 内网 IP:在输入框中填写内网 IP 地址,例如 127.0.0.1
    • 内网端口:在输入框中填写服务对应的端口号(Open WebUI 平台的端口号 8080)
  6. 完成添加
    • 点击右下角的 “确认” 按钮即可保存
创建成功之后,您就可以在隧道列表页面看到可访问的隧道。 Open WebUI 的公网隧道添加完成后,在浏览器就可以通过分配的域名 https://deepseek.fy.takin.cc 在公网上访问 Open WebUI 应用平台 img

第五步:Open WebUI 基础配置

通过公网访问 deepseek

打开 Open WebUI 域名地址后,先创建一个管理员账号, 输入名称、邮箱及密码等信息,然后点击”创建管理员账号” 完成管理员创建 img 成功登录后,进入到 Open WebUI 主页面 img 点击 “选择一个模型”, 选择我们添加好的 deepseek-r1.8b 模型 img

通过 deepseek 大模型进行对话

接下来就可以通过 DeepSeek 大模型进行对话了,如输入内网穿透 img 提示:文档截图及示例中的域名、隧道地址可能与您当前实际使用的不一致,请以 ZeroNews 控制台显示的实际地址为准。