nodelume README

The project's README from github.com/chenb1522/nodelume. As one markdown file: README.md.

NodeLume v1.0.2

轻量多节点 Linux 服务器监控与管理工具

NodeLume 由静态 Go Server、静态 Go Agent 和原生 Web UI 组成,重点是低资源占用、部署简单和严格的远程控制边界。

核心特性

安装 Server

curl -fsSL https://raw.githubusercontent.com/chenb1522/nodelume/v1.0.2/scripts/install-server.sh | sh

首次无参数安装默认监听 0.0.0.0,自动选择当前未占用端口并持久化。重复执行同版本不会重装或重启;旧版本升级会保留配置并在启动/健康检查失败时回滚。

常用命令:

nlm server s        查看运行状态
nlm server s -d     查看 NodeLume Server 自身资源占用
nlm server u        更新到最新版本
nlm server r        重启 Server
nlm server rm       卸载 Server(保留数据)
nlm server test     自检 Server
nlm help            查看完整帮助

安装 Agent

Agent 支持完全无参数安装:

curl -fsSL https://raw.githubusercontent.com/chenb1522/nodelume/v1.0.2/scripts/install-agent.sh | sh

无参数安装完成后状态为“未绑定”,之后执行:

nlm agent bind -s http://SERVER:PORT -t TOKEN

也可以在安装时直接绑定:

curl -fsSL https://raw.githubusercontent.com/chenb1522/nodelume/v1.0.2/scripts/install-agent.sh | sh -s -- \
  -s 'https://monitor.example.com' \
  -t 'TOKEN' \
  -n 'HK-01'

支持长短参数:-s/--server、-t/--token、-n/--name、-v/--version。

常用命令:

nlm agent s
nlm agent s -d
nlm agent u
nlm agent r
nlm agent config
nlm agent test
nlm agent reconnect
nlm agent logs -f
nlm agent set -s URL
nlm agent set -l info
nlm agent bind -s URL -t TOKEN [-n NAME]

nodelume-agent 二进制本身也支持 status/config/test/bind/set/version 子命令以及运行参数;Server 二进制支持运行参数、--version、--self-check、--pick-port 等。

Enrollment

Web 提供:

节点名称优先级:命令行 -n > Web Token 预设名称 > Server 自动名称。

Enrollment Token 仅用于首次注册。注册后使用独立 Agent 身份,不再使用 Enrollment Token 进行心跳、指标和命令通信。

日志

Server 运行日志默认:

Release 安全

Release 包包含:

nodelume-server-linux-amd64
nodelume-server-linux-arm64
nodelume-agent-linux-amd64
nodelume-agent-linux-arm64
nodelume-verify-linux-amd64
nodelume-verify-linux-arm64
install-server.sh
install-agent.sh
nlm
release.pub
release-manifest.json
checksums.txt
checksums.sig

安装器先使用固定 SHA256 引导校验静态 nodelume-verify,再用 Ed25519 验证 checksums.txt,最后验证目标文件 SHA256 和二进制 self-check。无需系统 OpenSSL 支持 Ed25519,因此兼容旧 OpenSSL 环境(例如 CentOS 7 的 OpenSSL 1.0.2 系列)。

GitHub Actions 私钥只放在 Secret:

NODELUME_SIGNING_PRIVATE_KEY

不得提交 Release 私钥。

目录

agent/
server/
  web/
scripts/
  install-server.sh
  install-agent.sh
  nlm
tools/
  verify/
  sign/
  keygen/
.github/workflows/release.yml
release.pub
go.mod

已知外部验收边界

本交付已在当前 Linux 构建环境实际运行 Server + Agent 端到端测试和真实 Chromium UI 交互测试。以下仍需要部署环境本身才能最终验证:真实公网域名的 CA HTTP-01 签发,以及 Debian/Ubuntu/CentOS/Alma/Rocky 各自真实 systemd VPS 的完整安装/重启测试。

nodelume (chenb1522/nodelume)

acme
Searching Database…

What is this?NodeLume is a lightweight multi-node Linux server monitoring and management tool made up of a static Go Server, a static Go Agent, and a native Web UI, built for low resource usage, simple deployment, and strict remote-control boundaries.
Is this a single app or a client-server setup?It's a client-server system: one central Server hosts the Web UI and data, while a small static Agent binary runs on each Linux machine you monitor and only ever connects outward to the Server (the Agent never opens a listening port).
How do I install the Server and connect Agents?Run the Server installer with no arguments and it binds to 0.0.0.0 on an auto-picked free port and saves its config; install the Agent the same way (it starts 'unbound') and bind it afterward, or pass -s/--server, -t/--token, -n/--name at install time to bind immediately. Everything is managed through 'nlm server ...' and 'nlm agent ...' commands.
Can the Agent run shell commands or scripts on my servers?No, by design: the Agent never exposes a shell, sh -c, arbitrary scripts, or custom command execution — it only collects metrics like CPU, memory, disk, load, network, temperature, processes, and services.
What hardware and OS does NodeLume run on?Both the Server and Agent are statically built Go binaries for Linux amd64 and arm64 with CGO disabled, so there are no runtime library dependencies to install.
What happens if I use plain HTTP instead of HTTPS?NodeLume allows HTTP but shows a plaintext-communication warning in the Web UI without blocking the connection, so HTTPS with an ACME-issued certificate is recommended for real deployments.
How are Server logs rotated and cleared?NodeLume rotates its own run logs without relying on logrotate, keeping 7 days and up to 50 MiB by default (both configurable in the Web UI); clearing logs only wipes the run log, never the separate audit log.
How are release binaries verified before install?The installer first checks a fixed SHA256 for the bundled 'nodelume-verify' tool, then uses it to Ed25519-verify checksums.txt and the target binary plus a self-check, all without needing OpenSSL to support Ed25519 — so it also works on old OpenSSL like CentOS 7's 1.0.2.
Is this already fully verified on real VPS deployments?The author has end-to-end tested Server+Agent and the Web UI on their own Linux build environment, but real public-domain ACME HTTP-01 issuance and full install/restart testing on actual Debian, Ubuntu, CentOS, Alma, and Rocky systemd VPS boxes still need verification in real deployment environments.
Creator
chenb1522
Size
0.3 MB
Stars
202
Age
2mo
Commits · 90 Days