mrkeyoor.com_
Mon 10 Aug 17:46 UTC
Self-Hostedevaluationupdated 10 Aug 2026

beszel

Beszel is a self-hosted dashboard for watching server health, resource use, Docker or Podman containers, and hardware metrics over time. It gives homelab operators useful charts and alerts without asking them to assemble a full Prometheus stack.

Verdict

Beszel is the monitoring tool I would try first for a homelab or small fleet when host and container visibility matter more than unlimited customization. It hits a rare balance: simpler than Prometheus, more historical and centralized than a terminal monitor, and pleasant enough to check daily. Do not mistake it for full service observability, and verify the open platform-specific issues before depending on it for remote recovery.

Setup4/5Clear hub and agent flow, with work repeated on every host
Docs5/5Detailed guides cover installs, metrics, auth, alerts, and backups
Community4/5Large audience and active work, but a sizable support queue
Maturity4/5Broad daily-use features with several platform rough edges

Who it’s for

  • Homelab owners who want one clean dashboard for several Linux, Windows, macOS, BSD, or container hosts.
  • Small teams that need historical CPU, memory, disk, network, temperature, GPU, and container data without a large monitoring stack.
  • Self-hosters who value multi-user access, OAuth or OIDC login, alerts, and S3-compatible backups.
  • Operators willing to install a small agent on every monitored system and keep a central hub running.

Who it’s NOT for

  • Teams that need service-level monitoring rather than host metrics: alerting for failed systemd services remains an open feature request.
  • Operators who need per-container alert exceptions for known heavy workloads: an open request says CPU-intensive jobs such as HandBrake can trigger unwanted notifications.
  • Android users whose login flow depends on password-manager autofill: a long-running open bug reports that the login button can stop working after autofill.
  • pfSense operators who expect the FreeBSD agent service to survive every reboot automatically: an August 2026 bug report says it must be started again after a router restart.

Setup reality

Beszel is easier to start than most multi-host monitoring systems, but the README's few-minutes promise assumes you already understand Docker or binary services. You run a hub, create its admin account, add each system in the web interface, then install and authorize an agent on every host. A single-machine Docker Compose example can include both pieces, while remote machines require their own agent configuration and network path back to the hub. Production use also means choosing persistent storage, TLS or a reverse proxy, authentication, notification delivery, backups, and an update policy.

Monitoring without building a monitoring department

Beszel occupies the useful middle between a terminal system monitor and a full observability platform. It collects host and container measurements through a small agent, stores history in a central hub, and presents the result in a clean web interface. The hub is built on PocketBase, while agents run on the machines being watched. That split gives you one place to inspect a fleet without putting the dashboard and database on every server.

The metric coverage is unusually practical for homelabs and small infrastructure. Beszel tracks CPU, memory, swap, ZFS ARC, disks, disk I/O, network traffic, load, temperature, batteries, and Docker or Podman containers. It can also collect Nvidia, AMD, and Intel GPU use and power draw, plus S.M.A.R.T., eMMC wear, and Linux software RAID health. These are the measurements people typically want when a small server becomes slow, hot, full, or unexpectedly noisy.

This focus is also its boundary. Beszel watches machines and containers well, but it is not an application tracing system, log search engine, or general metric query platform. An open feature request for failed systemd service alerts makes the distinction concrete. If a DHCP process dies while the host itself looks healthy, Beszel does not currently offer the service-level check that requester needed.

A setup that stays understandable

The official quick start has five conceptual steps: start the hub, create an administrator, define a system, start its agent, and finish the connection. The hub and agent can run as binaries or containers. For a local Docker host, the documentation provides a Compose file containing both components and a Unix socket connection. A Linux binary installer can create a dedicated user and service, start the agent, and optionally enable daily updates.

That is genuinely easier than assembling Prometheus exporters, storage, alert rules, and a Grafana dashboard. It is not one-click across a fleet. Every remote host needs an agent, credentials or a universal token, a reachable route to the hub, and the correct access to container or hardware information. Non-Linux systems may need manual binary handling. The current pfSense report is a useful warning: one FreeBSD installation did not restart the agent after a router reboot, even though the service configuration remained present.

The hub needs ordinary production care too. Persistent storage is mandatory if history matters. Internet-facing deployments need TLS, a reverse proxy or another safe exposure method, and a deliberate authentication configuration. Beszel supports multiple users, system sharing, OAuth2 or OIDC providers, and disabling password login. Automatic backups can target disk or S3-compatible storage. Those features make it suitable for more than a private experiment, but someone still owns restore tests, secret rotation, and upgrades.

The dashboard is opinionated in the right places

Beszel's strongest product decision is to provide a finished experience instead of a blank graph editor. Systems have consistent charts, containers get resource history, and alerts cover CPU, memory, disk, bandwidth, temperature, load average, and availability. You can copy alerts between systems, a feature added around the latest release, which reduces repetitive configuration as a fleet grows.

The tradeoff is less freedom at the edges. A current request asks for excluding selected containers from alerts because an expected CPU-heavy HandBrake job can create noise. Another open request asks for systemd service failures. Prometheus users could model both cases with custom labels and rules, while Beszel users wait for the product to expose the needed control. That is the bargain: much less assembly, but the application's supported concepts define what is easy.

Mobile login also deserves testing before an operator treats a phone as the emergency console. An open Android report, active since July 2025, describes password-manager autofill preventing the login button from completing authentication across multiple browsers. A recent pull request proposes a fix, but the issue remains open. OAuth may avoid that exact path, yet teams should test their actual identity provider and browser combination.

Active code, busy support surface

The repository was pushed on August 9, 2026, and issues and pull requests were still being updated on August 10. The latest tagged release, 0.18.7, arrived on April 5 and included expanded disk I/O metrics, copied alert settings, macOS ARM64 crash fixes, storage reporting corrections, security-related token restrictions, and dependency updates. The gap since that tag is worth noticing, but current commits and pull-request traffic do not suggest an abandoned project.

GitHub reports 375 open issues and pull requests combined. That is a substantial queue, and the README candidly says the maintainer may not always have time to respond. It also reflects a project with more than 24,000 stars, many platforms, and a wide hardware surface. Recent discussions include GPU detection, FreeBSD startup, container alert controls, and interface fixes. Expect compatibility questions that only appear on specific kernels, drivers, filesystems, browsers, and appliances.

Documentation is a strength. The separate site covers hub and agent installation, reverse proxies, security, OAuth, backups, notifications, extra disks, GPU monitoring, S.M.A.R.T. data, Podman, and common problems. English documentation is the primary path, with a Chinese localization and community translation work visible as well.

Who should choose it

Beszel is a strong first choice for someone who wants historical server and container visibility but does not want monitoring to become its own engineering project. It is especially good for a home lab, a collection of small servers, or a team that values a shared, readable dashboard over custom queries. The MIT license, authentication options, backups, and multi-user support give it room to grow with that environment.

Choose Netdata when diagnostic depth matters more than simplicity, Glances for quick machine-level inspection, Uptime Kuma for endpoint availability, or Prometheus when custom application metrics and alert logic are non-negotiable. Beszel wins when you want the common host questions answered quickly and accept its boundaries. Test agent persistence, mobile authentication, and alert noise on your actual systems before making it the only signal you trust.

Alternatives

ProjectWhat it isPick it when
NetdataA broad real-time observability agent with deep automatic metric collection.pick this instead when you want much deeper built-in diagnostics and accept a denser interface and larger operating footprint.
GlancesA portable system monitor with terminal, web, and export modes.pick this instead when you mainly need an immediate per-machine view or terminal workflow rather than a polished shared history dashboard.
Uptime KumaA friendly self-hosted uptime and endpoint monitor with extensive notifications.pick this instead when the main question is whether websites and services are reachable, not how the underlying hosts consume resources.
PrometheusA flexible time-series monitoring system built for custom metrics and alerting pipelines.pick this instead when you need queryable application metrics, service discovery, and a monitoring platform you can shape beyond Beszel's fixed experience.

What people are saying

  1. [github-trending] henrygd/beszel

Sources

  1. Beszel repository and README
  2. Beszel getting started guide
  3. Beszel 0.18.7 release notes
  4. Open request for failed systemd service alerts
  5. Android password-manager login bug
  6. FreeBSD agent restart bug on pfSense
  7. Request for per-container alert exclusions