Sign inSign up

coldsword/nodeget-statusshow

By coldsword

Updated 4 months ago

Image
0

1.0K

coldsword/nodeget-statusshow repository overview

NodeGet-StatusShow Docker

NodeGet-StatusShow 的第三方 Docker 镜像,自动跟随上游版本同步构建。
Third-party Docker image for NodeGet-StatusShow, automatically synced with upstream releases.

GitHub Actions Docker Pulls Image Version


简介 / Introduction

中文

NodeGet-StatusShowNodeGet 的公开探针展示页,以实时方式展示服务器状态、资源占用与在线情况。

本仓库提供 NodeGet 公共前端默认主题 StatusShow 开箱即用的 Docker 镜像,通过 GitHub Actions 自动追踪上游 Release 并构建推送,无需手动维护。

English

NodeGet-StatusShow is the public status page for NodeGet — a next-generation server monitoring and status page system.

This repository provides a ready-to-use Docker image for the NodeGet public frontend's default theme, StatusShow, automatically built and pushed via GitHub Actions whenever a new upstream release is published.


快速部署 / Quick Deploy

前置要求 / Prerequisites
  • Docker 20.10+ 与 Docker Compose v2.0+
  • 一个运行中的 NodeGet Server 实例 / A running NodeGet Server instance
1. 准备配置文件 / Prepare Config File
mkdir nodeget-statusshow && cd nodeget-statusshow

nodeget-theme.json(单节点 / Single node)

{
  "name": "NodeGet Basic Theme",
  "short": "NodeGetBasic",
  "description": "NodeGet Basic Theme - a boilerplate for custom themes",
  "author": "NodeSeekDev",
  "repository": "https://github.com/NodeSeekDev/NodeGet-StatusShow",
  "dist_page": "https://nodeget.pages.dev",
  "user_preferences": {
    "site_name": "我的探针页",
    "site_logo": "",
    "footer": "Powered by NodeGet"
  },
  "site_tokens": [
    {
      "name": "主节点",
      "backend_url": "wss://your-nodeget-server.example.com",
      "token": "your-token-here"
    }
  ]
}

多节点在 site_tokens 数组中追加对象即可 / For multiple nodes, append more objects:

{
  "site_tokens": [
    { "name": "Node 1", "backend_url": "wss://node1.example.com", "token": "token-1" },
    { "name": "Node 2", "backend_url": "wss://node2.example.com", "token": "token-2" }
  ]
}
字段 / Field说明 / Description
user_preferences.site_name页面标题 / Page title
user_preferences.site_logoLogo URL,留空不显示 / Leave empty to hide
user_preferences.footer页脚文本 / Footer text
site_tokens[].name节点显示名称 / Node display name
site_tokens[].backend_urlNodeGet Server WebSocket 地址 / WebSocket URL
site_tokens[].token访问 Token / Access token
2. docker-compose.yml
name: statusshow

services:
  nodeget-statusshow:
    image: ${STATUSSHOW_IMAGE:-coldsword/nodeget-statusshow:latest}
    restart: unless-stopped
    ports:
      - "${STATUS_HOST_PORT:-3000}:3000"
    volumes:
      - ./nodeget-theme.json:/app/nodeget-theme.json:ro
3. .env
STATUSSHOW_IMAGE=coldsword/nodeget-statusshow:latest
# 或 GHCR / Or GHCR:
# STATUSSHOW_IMAGE=ghcr.io/cold-sword/nodeget-statusshow:latest

STATUS_HOST_PORT=3000
4. 启动与更新 / Start & Update
# 首次启动 / First start
docker compose up -d

# 查看日志 / View logs
docker compose logs -f

# 修改 nodeget-theme.json 后重启 / Restart after config change
docker compose restart nodeget-statusshow

# 拉取新镜像并更新 / Pull new image and update
docker compose pull && docker compose up -d

本地构建 / Local Build

git clone https://github.com/cold-sword/nodeget-statusshow-docker.git
cd nodeget-statusshow-docker

# 构建镜像 / Build image
docker build \
  --build-arg STATUSSHOW_REF=main \
  -t nodeget-statusshow:local \
  ./statusshow

# 指定版本 / With specific version
docker build \
  --build-arg STATUSSHOW_REF=v1.3.2 \
  -t nodeget-statusshow:v1.3.2 \
  ./statusshow
构建参数 / ARG默认值 / Default说明 / Description
STATUSSHOW_REPOhttps://github.com/NodeSeekDev/NodeGet-StatusShow.git上游仓库 / Upstream repo
STATUSSHOW_REFmain分支或 Tag / Branch or tag

构建完成后,将 docker-compose.yml 中的 image 替换为本地镜像名称即可。
After building, replace image in docker-compose.yml with your local image name.


反向代理 / Reverse Proxy

说明 / Note:探针页由浏览器直接与 NodeGet Server 建立 WebSocket 连接,反向代理只提供静态文件,无需对本容器做 WebSocket 代理。
The browser connects to NodeGet Server via WebSocket directly. The reverse proxy only serves static files — no WebSocket proxying to this container needed.

Nginx
server {
    listen 80;
    server_name status.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name status.example.com;

    ssl_certificate     /etc/ssl/certs/status.example.com.crt;
    ssl_certificate_key /etc/ssl/private/status.example.com.key;

    location / {
        proxy_pass         http://127.0.0.1:3000;
        proxy_set_header   Host              $host;
        proxy_set_header   X-Real-IP         $remote_addr;
        proxy_set_header   X-Forwarded-For   $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
}
Caddy
status.example.com {
    reverse_proxy localhost:3000
}
Traefik(Docker Labels)
services:
  nodeget-statusshow:
    image: coldsword/nodeget-statusshow:latest
    restart: unless-stopped
    volumes:
      - ./nodeget-theme.json:/app/nodeget-theme.json:ro
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.statusshow.rule=Host(`status.example.com`)"
      - "traefik.http.routers.statusshow.entrypoints=websecure"
      - "traefik.http.routers.statusshow.tls.certresolver=letsencrypt"
      - "traefik.http.services.statusshow.loadbalancer.server.port=3000"

资源 / Resource链接 / Link
📦 NodeGet-StatusShow 上游仓库NodeSeekDev/NodeGet-StatusShow
⚙️ NodeGet 后端NodeSeekDev/NodeGet
🖥️ NodeGet DashboardNodeSeekDev/NodeGet-board
📖 官方文档 / Official Docsnodeget.com
💬 Telegram 频道 / Channel@NodeGetProject
💬 Telegram 讨论组 / Group@NodegetGroup
🌐 NodeSeek 社区 / Communitynodeseek.com
🐳 DockerHubcoldsword/nodeget-statusshow
📦 GHCRghcr.io/cold-sword/nodeget-statusshow

致谢 / Credits

本项目构建于 NodeSeekDev/NodeGet-StatusShow 之上,前端代码著作权归原作者所有。
This project builds upon NodeSeekDev/NodeGet-StatusShow. All frontend code copyright belongs to the original authors.

License

本仓库的 Docker 打包脚本与 CI 配置以 MIT License 发布。
The Docker packaging scripts and CI configuration are released under the MIT License.
The bundled NodeGet-StatusShow frontend follows its own upstream license.

Tag summary

Content type

Image

Digest

sha256:9ecdd0548

Size

60.9 MB

Last updated

4 months ago

docker pull coldsword/nodeget-statusshow