A Beszel alternative for people who don't want to run the hub
Beszel is good software and it costs nothing. PulseNode is a hosted Beszel alternative: the same small-agent idea, run by us instead of you. Where Beszel still wins, we say so.
If you found this page you probably already like Beszel. The usual story: a few cheap VPSes or a homelab, one attempt at Prometheus + Grafana, a quiet retreat. Beszel fixed that. Small agent, clean dashboard, Docker stats, alerts, MIT license, no bill. If you want to self-host, install it. It holds up.
PulseNode exists for the other reader, the one who likes everything about Beszel except standing up the hub and looking after it. One small agent per server, a live dashboard, Docker, alerts. The difference is who runs the dashboard. With Beszel that's you. With PulseNode it's us.
Beszel has alerts, Docker monitoring, and full data ownership; nothing below pretends otherwise. The real differences are narrower than comparison pages usually admit.
TL;DR: who should pick which
Pick Beszel if you want free, open source, self-hosted monitoring and you're willing to deploy the hub (the central app) yourself and keep it backed up and online. In return you get full data ownership, temperature and GPU metrics, S3 backups, OIDC login and a REST API. For a homelab it's excellent.
Pick PulseNode if you'd rather not operate a monitoring server at all. We host the dashboard and store the history. You also get things Beszel doesn't ship: external HTTP(S) checks with TLS certificate expiry, open ports labelled with the process that owns them, and Telegram and email alerts (agent-offline included) with no SMTP or webhook URLs to assemble. It costs €5/mo. You're trading money for never being the person who maintains the monitor.
The rest of this page is detail.
Don't want to run the hub yourself?
PulseNode is the same lightweight idea, hosted for you. €5/mo, cancel anytime.
Start monitoring for €5/moWhat Beszel and PulseNode have in common
More than separates them. Both run one small static agent binary per server, light enough to forget about, and both show Docker containers out of the box. CPU, memory, disk and network get charted over time, and neither tool asks you to learn a query language to set an alert. They're aimed at the same person: someone with three to twenty servers, not a platform team.
If you like Beszel's philosophy, you'll be comfortable in PulseNode. It's the same shape. The question is hosting.
Side-by-side comparison
| PulseNode | Beszel | |
|---|---|---|
| Hosting model | Hosted SaaS: we run the dashboard | Self-hosted: you run the hub |
| What you run and maintain | One agent per server | Agent per server plus the hub (a PocketBase web app) you deploy, back up, and keep online |
| Agent footprint | Single static Go binary, hardened systemd service | Single Go binary, around 10 MB RAM idle |
| Agent network model | Outbound only: no inbound port, no SSH in | SSH mode: hub connects in to the agent (port 45876). WebSocket mode: agent connects out, with SSH as fallback |
| System metrics | Per-core CPU + load avg, RAM + swap, disk per mount + read/write throughput, network per interface, uptime | CPU, memory (+swap/ZFS ARC), disk, disk I/O, network, load avg, temperature, GPU, battery, S.M.A.R.T. |
| Docker / containers | ✅ status, image, uptime | ✅ Docker & Podman container stats |
| Open ports w/ owning process | ✅ every TCP/UDP port + the process name | ❌ not a documented feature |
| External HTTP(S) + TLS checks | ✅ status, latency, days to cert expiry | ❌ not a documented feature |
| Alerts | Thresholds + cooldowns + recovery + agent-offline | Thresholds for CPU/mem/disk/bandwidth/temp/load/status |
| Alert channels | Telegram + email; enter a chat ID or address, no SMTP or webhooks | 20+ services via Shoutrrr (Telegram, Discord, Slack, ntfy, webhooks); you configure the URLs |
| Data ownership | Lives on our servers; export not yet exposed | 100% yours: your DB, S3 backups, OIDC, REST API |
| History retention | 7 days (Hobby) / 30 days (Pro) | 30 days max; older records are averaged into coarser buckets (not configurable) |
| License / price | Proprietary SaaS, €5 to €15/mo | MIT, free |
| Best for | People who don't want to operate a monitor | People who want to self-host and own everything |
Related: PulseNode vs Netdata and vs Uptime Kuma are coming. Until then, see the comparison hub.
Where Beszel wins
Beszel beats PulseNode on real things:
- It's free and MIT licensed. You can read the source, fork it, and change anything you don't like. PulseNode is €5/mo and closed.
- Your data stays yours: your database on your disk, with S3-compatible backups you control. PulseNode keeps your metrics on our infrastructure, and we don't expose an export yet.
- The agent is tiny, around 10 MB of RAM idle. A Raspberry Pi won't notice it.
- It reads more hardware: temperature, GPU usage and power (Nvidia/AMD/Intel), battery, and S.M.A.R.T. health. PulseNode collects none of those, so if thermals or GPUs matter to you, Beszel is the answer.
- More alert destinations. Shoutrrr gives it about two dozen services, including Discord, Slack, ntfy, Pushover and generic webhooks. PulseNode does Telegram and email, full stop.
- OAuth2/OIDC login and a REST API for pulling your data into your own scripts. PulseNode doesn't expose a public API today.
If those outweigh not running a server, stop here and install Beszel. We mean that.
Where PulseNode wins
The list is shorter and mostly traces back to one fact: there's no hub for you to run.
- Nothing to host, back up, or keep alive. Beszel's hub is a server you operate, and it fails at the worst time: if the box running your monitor dies, the monitor dies with it, right when you needed the alert. Our dashboard runs on separate infrastructure, so it's still up to tell you.
- External HTTP(S) and TLS checks. PulseNode watches your public endpoints from the outside and reports status, latency, and days until the certificate expires. Beszel monitors the inside of your machines and doesn't ship outside-in checks.
- Open ports with process names. Every listening TCP/UDP port shows up with the process that owns it, so an unexpected
:8080has a name instead of being a mystery. Beszel doesn't document a port inventory. - Alerts without plumbing. Telegram and email, plus an agent-offline alert. There's no SMTP server or webhook URL to assemble: enter an email address or a Telegram chat ID in Settings, add your threshold rules, done. Beszel's alerting is solid too, but you build the Shoutrrr URLs yourself, and the hub sending the alert has to be up to send it.
- A strictly outbound agent. It never listens on a port and we never connect in: no SSH, no inbound firewall rule. Beszel can run agent-out over WebSocket, but its classic and fallback path has the agent listening on port 45876 for the hub to reach. If nothing inbound is a hard requirement, that's a real difference.
What PulseNode does not do
So you aren't surprised after paying:
- It isn't free, open source, or self-hostable. If any of those is a requirement, Beszel wins by definition.
- No temperature, GPU, battery, or S.M.A.R.T. metrics. Beszel reads those; we don't.
- No custom dashboards and no query language. You get our opinionated views, and that's it.
- No APM, logs, or traces. This is infrastructure monitoring only.
- History is short: 7 days on Hobby, 30 on Pro. Beszel also caps history at 30 days and averages older records into coarser buckets, so Pro matches Beszel's maximum; Hobby's 7 days is less.
- Linux only, with metrics landing about every 30 seconds. There's no Windows or macOS agent, and this isn't sub-second monitoring.
- It's a solo-founder beta. One person, a new brand, rough edges, fast fixes. Support is personal, but it's one inbox.
Pricing
Two flat plans, billed via Lemon Squeezy, VAT handled at checkout, cancel anytime:
- Hobby, €5/mo: up to 5 servers, 7-day history, live dashboard and charts, alert rules to Telegram and email, external HTTP(S) and TLS-expiry checks.
- Pro, €15/mo: up to 20 servers, 30-day history, everything in Hobby, direct founder support.
Beszel is free. Its real cost is the VPS it runs on and the hours you spend operating it. That's the whole trade: with Beszel you pay in attention, with PulseNode you pay €5.
Get Hobby for €5/mo Get Pro for €15/mo
FAQ
Is PulseNode open source like Beszel?
No. Beszel is open source under the MIT License: you can read it, fork it, and self-host it freely. PulseNode is a proprietary hosted service. If open source is a hard requirement, Beszel is the right pick, and we'd rather you know that up front.
Can I self-host PulseNode?
No. PulseNode is hosted only, and that's the point of it. We run the dashboard, store the history, and keep it patched and online so you never operate a monitoring server. If you want to self-host, Beszel is built for exactly that.
Does PulseNode monitor Docker like Beszel?
Yes. PulseNode shows every Docker container with its status, image, and uptime, alongside your CPU, RAM, disk, network and open ports. Container monitoring is built in, same as Beszel.
What happens to my Beszel dashboard if the server it runs on goes down?
If you self-host the Beszel hub on a box and that box goes down, the hub goes down with it, so the tool that should be alerting you is offline at the exact moment you need it. That's the "who monitors the monitor" problem. PulseNode's dashboard runs on our infrastructure, separate from your servers, so when one of your boxes dies the alert still goes out.
Does PulseNode have temperature or GPU monitoring like Beszel?
No. Beszel reads temperature, GPU, battery and S.M.A.R.T. health; PulseNode does not collect those. PulseNode covers CPU, RAM, disk (including read/write throughput), network, Docker, ports by process, and external HTTP/TLS checks. If GPU or thermal monitoring matters to you, Beszel is the better fit.
How is the price different from running Beszel?
Beszel is free to run; you pay for the server it lives on and the time you spend maintaining it. PulseNode is €5/mo (Hobby) or €15/mo (Pro). You're paying us to host, back up, and patch the dashboard so you're never on call for your own monitoring tool.