Everything you need to monitor a server with PulseNode — install, alerts, troubleshooting, uninstall.
Add a server in the dashboard to generate a one-time token, then run the command it shows you on the server you want to monitor:
curl -fsSLo /tmp/server-monitor-install.sh https://github.com/Xaenox/server-monitor-releases/releases/latest/download/install.sh
sudo bash /tmp/server-monitor-install.sh agent
The installer asks for the token interactively (so it is never written to your shell history), downloads the agent binary (verifying its SHA-256 checksum), writes a 0600 config, and starts a hardened systemd service that begins reporting within a minute. The token is shown only once — if you lose it, delete the server and add it again.
Docker containers are monitored automatically — including rootless Docker daemons run by other users (a common setup for CI runners). The installer detects every running daemon and wires it up; each container is labeled with its daemon in the dashboard. If a rootless daemon appears later, just re-run the install command above, or set SKIP_ROOTLESS_DOCKER=1 during install to opt out entirely.
| OS | Architectures |
|---|---|
| Linux | x86_64 (amd64), aarch64 (arm64) |
A modern systemd-based distribution (Ubuntu, Debian, Fedora, etc.) and curl are required. The agent is a single static binary with no runtime dependencies.
To receive alerts in Telegram, create a bot and tell PulseNode its token and your chat ID (Settings → Telegram Notifications):
/newbot, and follow the prompts. Copy the bot token it gives you.https://api.telegram.org/bot<token>/getUpdates.Email alerts work out of the box — just set a recipient address in Settings → Email Notifications.
On a server's Alerts tab, add a threshold rule on cpu, ram, or disk usage percent (e.g. cpu > 85%). When the value crosses the threshold you get a notification, and another when it recovers. A per-rule cooldown prevents one bad night from becoming dozens of pings. Notifications go to every channel you've enabled.
If a server's agent stops reporting (crash, reboot, network loss), PulseNode notifies you that it's offline — and again when it comes back. This is automatic; no rule to configure. You'll only receive it if you have a notification channel set up.
Check the agent service on the monitored host:
sudo systemctl status server-monitor-agent
sudo journalctl -u server-monitor-agent -n 50 --no-pager
DASHBOARD_URL over HTTPS outbound. Check egress firewall rules.apt install ca-certificates).The agent reports every 30 seconds by default; a card turns "stale" after a few missed cycles and "offline" after ~10. Confirm the service is active (running) with the commands above.
On the monitored server:
sudo systemctl disable --now server-monitor-agent
sudo rm -f /usr/local/bin/server-monitor-agent /usr/local/bin/server-monitor-expose-rootless-docker
sudo rm -rf /etc/server-monitor-agent
sudo rm -f /etc/systemd/system/server-monitor-agent.service
# Only present if rootless Docker daemons were monitored:
sudo systemctl disable --now 'server-monitor-docker-*.socket' 2>/dev/null
sudo rm -f /etc/systemd/system/server-monitor-docker-*.socket /etc/systemd/system/server-monitor-docker-*.service /etc/tmpfiles.d/server-monitor.conf
sudo systemctl daemon-reload
Then delete the server in the dashboard (its Settings tab → Danger Zone) to remove its stored history.
Need help? Contact support.