Beszel
| License | FOSS problems | Maintenance | SSO | Users | Tested |
|---|---|---|---|---|---|
| MITPermissive license. Preserve the copyright notice. Applies only to the covered code — your surrounding project can stay under any license. | — | Active | ❌ | Unlimited | ✅ |
Evaluation
What it is
Beszel is a lightweight server and container monitoring panel. It shows CPU, memory, disk, and network metrics across one or more servers, with Docker container stats and basic alerting. The hub runs as a single container; each monitored server runs a small agent.
Why it could be useful
Self-hosted infrastructure needs visibility. Without monitoring you're flying blind — you won't know a disk is filling up or a service is leaking memory until something breaks. Beszel makes it easy to see the health of the whole stack at a glance without the operational weight of a full observability platform like Grafana + Prometheus.
Why not to go for it
It's a lightweight tool, which means it covers the basics and not much more. No log aggregation, no traces, no complex alerting rules. If you need deeper observability — slow query logs, error rates by service, structured log search — a heavier stack is required. For a small self-hosted setup though, Beszel is usually enough.
Setup
-
Add a DNS record pointing
status.<domain>to the server:- A record:
status→<ipv4> - AAAA record:
status→<ipv6>
- A record:
-
In Coolify, go to New Resource → Service, search for Beszel, set the domain on the hub container, then deploy.
-
Open
https://status.<domain>and create your admin account. -
In the Beszel hub, go to Systems → Add system. Fill in a name and
localhostas the host. Beszel will display aKEYvalue — copy it. -
In Coolify, find the Beszel service and open the agent container. Set the
KEYenvironment variable to the copied value, then restart the agent. -
Back in the hub, confirm the system shows as connected.
SMTP
Beszel can send email alerts when a system goes down or a metric threshold is crossed.
- In the hub, go to Settings → SMTP settings and fill in:
| Field | Value |
|---|---|
| Host | <your SMTP host> |
| Port | 587 |
| User | <your SMTP username> |
| Password | <your SMTP password> |
| From | <your sender address> |
- Send a test email to confirm delivery.