Beszel: A lightweight monitoring hub and agent with Docker stats and alerts
Lightweight server monitoring with historical data, docker stats, and alerts.
At a glance
- What is it?
- Beszel pairs a PocketBase-based hub with a small agent to track CPU, memory, disk, network, and container metrics. It targets operators who want historical data and alerts without the overhead of heavier platforms.
- Who is it for?
- Adopt Beszel if you manage a small fleet of Linux servers or Docker hosts and want a self-hosted monitoring stack that is easy to run and maintain. Skip it if you need advanced anomaly detection, a plugin ecosystem, or a documented REST API, since the README's REST API feature line is commented out even though its introduction lists API access.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly Go, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on November 13, 2026, and from our analysis. They are not legal advice.
Star history
- henrygd/beszel27,315 ★ · +3,493
| Repository | 2026-07-28 | 2026-11-13 |
|---|---|---|
| henrygd/beszel | 23.8k | 27.3k |
3,493 Stars in the last 108 days, measured from the daily GitHub snapshot. Compare with other projects
Editorial analysis
What Beszel solves and who it targets
Beszel is a server monitoring platform that focuses on being lightweight and simple. The README positions it against leading solutions, claiming it is smaller and less resource-intensive, though no numbers back that up. The intended user is someone who wants to monitor a handful of machines, see historical trends for CPU, memory, disk, network, and containers, and get alerts when thresholds are crossed. It is not aimed at large-scale infrastructure teams that need distributed collection or complex service discovery. The project explicitly includes Docker and Podman container stats, so a likely adopter runs containers on one or more hosts and wants per-container history without setting up a heavier stack. Multi-user support and OAuth suggest it also fits small teams that need to share access to monitored systems without exposing credentials.
Hub and agent: how the two components split the work
Beszel uses two components. The hub is a web application built on PocketBase. It serves the dashboard and stores the historical data. The agent runs on each system that you want to monitor. It collects metrics from the host and from containers, then communicates them to the hub. This split keeps the agent small, because it only gathers and sends data. The README does not describe the wire protocol or how often the agent sends data. It also does not say whether the agent uses push or pull. Confirm the exact behavior in the documentation if you have firewall constraints between the agent and hub.
Supported metrics: from CPU to S.M.A.R.T.
The README lists a broad set of metrics. Host-level items include CPU usage, memory usage with swap and ZFS ARC, disk usage and I/O, network usage, load average, temperature, fan speed, GPU usage and power draw for Nvidia, AMD, and Intel, battery charge, and S.M.A.R.T. disk health, including eMMC wear and Linux mdraid array health. Container-level metrics cover CPU, memory, and network usage for Docker and Podman. This is a wide range for a lightweight tool. The fan speed metric is noted as Linux-only via /sys/class/hwmon. Temperature and fan speed depend on hardware sensors, so not every host will report them. S.M.A.R.T. support is a notable addition, because it lets you watch disk health without a separate tool. The README does not specify which metrics are available on non-Linux systems, so if you run macOS or BSD, you should check the documentation before relying on the agent.
Getting started: what the README shows and what it omits
The README points to a quick start guide on beszel.dev and says you will be up and running in a few minutes. It does not include concrete commands or configuration keys. The project provides Docker images for the hub and the agent, which suggests a typical deployment runs both as containers. The agent needs to be pointed at the hub's address, probably via an environment variable or a command-line flag, but the README does not give those details. The badge for Docker Hub implies that pulling the images is the standard path. For a review, the lack of inline setup steps is a gap. You will have to visit beszel.dev to get the exact commands. That is acceptable for a project that hosts its documentation elsewhere, but it means the README alone is not enough to deploy Beszel.
Alerts, multi-user, and backups: the operational features
Beszel includes configurable alerts for most metrics, and the README says it supports many notification services, though it does not name them. It also does not describe the threshold syntax. Multi-user support lets users manage their own systems, while admins can share systems across users. That is a useful model for a small team. OAuth and OIDC are supported for many providers, and password auth can be disabled, which is good for organizations that want SSO. Automatic backups can save to disk or S3-compatible storage, and you can restore from them. These features are listed but not detailed. For a production deployment, you would need to read the documentation to understand how to configure OAuth, set up backups, and define alerts. The README gives a feature list, not an operations manual.
A notable limitation: the REST API is commented out
The README contains a commented-out line for a REST API. It says: 'REST API: Use or update your data in your own scripts and applications.' The README's introduction, however, says Beszel supports API access, so the commented-out line leaves the API's scope undocumented in the README rather than absent. If you need to pull metrics into a dashboard like Grafana or feed them into a custom script, Beszel may not support that out of the box. This is a case where the project's simplicity comes at a cost. The hub is built on PocketBase, which has its own API, but the README does not say whether that API is exposed or stable. You should verify the actual state of the API in the repository or on the website before assuming it works.
Alternatives and how Beszel differs
The README positions Beszel as lighter than leading solutions. A common alternative is Netdata, which also provides real-time and historical metrics with a web dashboard. Netdata has a much larger feature set, including many plugins and a more complex architecture with a collector daemon. Beszel's approach is simpler: one agent per host, a central hub, and a smaller scope. Another alternative is Prometheus with node_exporter and Grafana, which is more flexible but requires you to set up a time-series database, configure scraping, and build dashboards. Beszel bundles storage and a web UI into the hub, so you do not need to assemble those components yourself. The trade-off is that you get less control and fewer integration options. If you need custom metrics or a specific query language, Prometheus is the better fit. If you want a single binary or container that works out of the box, Beszel is closer to that goal.
Maintenance, license, and what to check before adopting
Beszel is licensed under the MIT License, which permits commercial use, modification, and redistribution with attribution. The repository is active, with recent releases in 2026 and a last push in November 2026. The README asks users to search existing issues and discussions before opening new ones, which suggests an active community but also a small maintainer team. The project uses Crowdin for translations, indicating a community effort for localization. Maintenance cost is likely low because the agent and hub are distributed as Docker images, and the hub is based on PocketBase, which handles the database and admin UI. Upgrades are handled through new releases, and you would need to pull new images. Before adopting, verify that the agent supports your operating system and hardware sensors, confirm the alert delivery method, and check whether the commented-out REST API is actually available. The documentation on beszel.dev is the authoritative source for these details, so read it before committing.
Editorial conclusion
Adopt Beszel if you manage a small fleet of Linux servers or Docker hosts and want a self-hosted monitoring stack that is easy to run and maintain. Skip it if you need advanced anomaly detection, a plugin ecosystem, or a documented REST API, since the README's REST API feature line is commented out even though its introduction lists API access. Before deploying, verify that the metrics you care about, such as temperature or S.M.A.R.T., work on your hardware, and confirm that the backup and OAuth features meet your security requirements. Check the GitHub issues and discussions for known problems with your storage or sensor setup, then test the agent on one host before rolling out to the rest.
Frequently asked questions
what is beszel
Beszel is a lightweight server monitoring platform with Docker statistics, historical data and alerting. It has two components: a hub, a web application built on PocketBase that provides the dashboard, and an agent that runs on each monitored machine and sends it system metrics. It is MIT licensed and covers CPU, memory, disk, network, temperature, GPU, containers, disk health and ZFS.
what is beszel agent
The agent is the half that runs on each machine you monitor, reading its metrics and communicating them to the hub. It is published as its own container image, separate from the hub image, and it is what reads Linux-specific interfaces such as netlink, the hardware monitoring tree in sysfs, software RAID health and ZFS pool state.
How do I set up Beszel?
You need two things: a hub, published as a container image, and an agent on each machine to monitor. The README contains no install command and sends you to the documentation site, where a quick start guide is linked, and the images for both halves are on a container registry under the project name.
how to install beszel agent on windows
There is a Windows path, and the build file shows it: a target for building the .NET component runs only when the host operating system is Windows, and the built executable gets a .exe extension. The build file does not document an install procedure, so the agent's own documentation site is where the steps are.
is beszel open source
Yes, under the MIT licence, with the licence text in the repository. The web interface is additionally available in multiple languages through a hosted translation platform, and the project publishes both the hub and agent container images openly.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/henrygd-beszel)Star history chart for your README
[](https://hysenlabs.com/projects/henrygd-beszel)Was this useful?