🚀 运行: ...
IP: ...
ISP: 检测中...

🚀 部署高颜值探针前端 Nazhua + 哪吒V1 + Cloudflare Tunnel (Docker Compose 一键部署)

本文将详细介绍如何使用 Docker Compose 快速部署 Nezha V1 监控面板,并配合高颜值的 Nazhua 前端主题,最后通过 Cloudflare Tunnel 实现无需公网 IP 的安全访问。


1. 准备工作:创建目录与配置文件

首先,我们需要在服务器上创建项目目录,并配置前端所需的脚本和样式表。

📂 创建目录

在终端执行以下命令:

mkdir -p /opt/nazhua
cd /opt/nazhua

⚙️ 创建 config.js

该文件用于配置 Nazhua 前端的各项参数(如标题、API路径、背景等)。

nano config.js

请粘贴以下内容(建议使用配置生成器生成,以下为通用模板):

window.$$nazhuaConfig = {
  title: '遥遥领先',
  nezhaVersion: 'v1', // 强制指定为 v1 版本
  v1ApiMonitorPath: '/api/v1/service/{id}',
  v1WsPath: '/api/v1/ws/server',
  v1ApiGroupPath: '/api/v1/server-group',
  v1ApiSettingPath: '/api/v1/setting',
  v1ApiProfilePath: '/api/v1/profile',
  hideNavbarServerCount: false,
  routeMode: 'h5',
  footerSlogan: '吃饱了撑的',
  freeAmount: '白嫖',
  infinityCycle: '长期有效',
  customBackgroundImage: '',
  showFireworks: true,
  listServerItemTypeToggle: true,
  listServerItemType: 'server-status',
  listServerStatusType: 'donut',
  listServerRealTimeShowLoad: true,
  detailServerStatusType: 'donut',
  hideDetailWorldMap: true,
  homeWorldMapPosition: 'bottom',
  monitorRefreshTime: 10,
  monitorChartType: 'multi',
  monitorChartTypeToggle: true,
  v1HideNezhaDashboardBtn: true,
};

(按 Ctrl+O 保存,Ctrl+X 退出)

🎨 创建 style.css

该文件用于自定义页面样式。

nano style.css

粘贴以下内容:

:root {
  /* 修改颜色 */
  /* 地图上标记点的颜色 */
  --world-map-point-color: #fff;
  /* 列表项显示的价格颜色 */
  --list-item-price-color: #ff6;
  /* 购买链接的主要颜色 */
  --list-item-buy-link-color: #f00;
}

/* 自定义背景图示例 */
:root {
  /* 图片太亮时,增加背景遮罩透明度 */
  --layout-main-bg-color: rgba(0, 0, 0, 0.45);
}
.layout-group .layout-bg {
  /* 添加!important强制背景图替换 */
  background: url(https://cdn.seovx.com/?mom=302) no-repeat 80% 80% !important;
  background-size: cover;
}

(按 Ctrl+O 保存,Ctrl+X 退出)


2. 获取 Cloudflare Tunnel Token

为了配合 Docker 部署,我们需要从 Cloudflare 获取隧道令牌。

  1. 登录 Cloudflare Dash
  2. 点击左侧菜单的 Zero Trust(如未开通需先免费开通)。
  3. 进入 Networks -> Tunnels
  4. 点击 Create a tunnel
    • Select connector: 保持默认 Cloudflared,点击 Next。
    • Name your tunnel: 输入名称(如 monitor),点击 Save tunnel。
  5. 【关键步骤】提取 Token
    • 在 Install connector 页面,点击 Docker 图标。
    • 在下方的代码框中,找到 --token 后面的长字符串。
    • 注意:只复制 ey 开头的那一长串字符,不要复制整行命令。

正确复制示例eyJhIjoiMmY... (直到结尾)


3. 编排 Docker Compose

创建并编辑 docker-compose.yml 文件。

nano docker-compose.yml

粘贴以下内容,请务必替换其中的 TOKEN

services:
  # -----------------------
  # 1. 哪吒探针 V1 (后端)
  # -----------------------
  dashboard:
    image: ghcr.io/nezhahq/nezha:latest  # 【修正这是 V1 的官方新镜像
    container_name: dashboard
    restart: always
    volumes:
      - ./data:/dashboard/data  # 【修正V1 的容器内数据路径
    ports:
      # V1 面板端口 (同时也是 Agent 通信端口)
      - "8008:8008"
    expose:
      - "8008" # 暴露给 Nazhua  Tunnel 使用

  # -----------------------
  # 2. Nazhua (前端 + 反代)
  # -----------------------
  nazhua:
    image: ghcr.io/hi2shark/nazhua:latest
    container_name: nazhua
    restart: always
    environment:
      # 指向后端容器名 dashboard  8008 端口
      - NEZHA=http://dashboard:8008/
      - DOMAIN=_
    volumes:
      - ./config.js:/home/wwwroot/html/config.js:ro
      - ./style.css:/home/wwwroot/html/style.css:ro
    depends_on:
      - dashboard

  # -----------------------
  # 3. Cloudflare Tunnel
  # -----------------------
  cloudflared:
    image: cloudflare/cloudflared:latest
    container_name: cloudflared
    restart: always
    command: tunnel run
    environment:
      - TUNNEL_TOKEN=替换你的token  # <---请在此处填入步骤2获取的Token
    depends_on:
      - nazhua

▶️ 启动服务

docker compose up -d

4. 域名绑定与配置

回到 Cloudflare Zero Trust 面板,配置域名的公网访问。

  1. 进入 Access -> Tunnels
  2. 找到刚才创建的隧道,点击 Configure
  3. 点击 Public Hostname 标签页,添加以下记录:

🔹 配置 Nazhua 前端 (访问页面)

  • Subdomain: status (你的前缀)
  • Domain: abc.com (你的域名)
  • Path: (留空)
  • Service: http://nazhua:80
    • 注意:这里填写的是 docker 容器名 nazhua

5. 后续设置与验证

🔐 初始化管理面板

  1. 浏览器访问您的后端地址(如 http://admin.abc.com :8008)。
  2. 登录哪吒管理界面(首次登录通常需要设置管理员账号),并修改登录密码

📡 添加服务器监控

  1. 在管理面板中添加服务器。
  2. Agent 配置地址:填写 admin.abc.com:8008
  3. TLS:不勾选(除非您配置了 SSL 证书反代)。
  4. 复制安装命令到您的其他服务器执行即可。

🎉 完成

此时,打开浏览器访问前端域名(如 https://status.abc.com),您应该就能看到界面精美的 Nazhua 探针页面了!


本文基于 Docker Compose 部署,适用于 Nazhua 及 Nezha V1 版本。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注