Skip to main content

Beszel

LicenseFOSS problemsMaintenanceSSOUsersTested
MITPermissive license. Preserve the copyright notice. Applies only to the covered code — your surrounding project can stay under any license.ActiveUnlimited

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

  1. Add a DNS record pointing status.<domain> to the server:

    • A record: status<ipv4>
    • AAAA record: status<ipv6>
  2. In Coolify, go to New Resource → Service, search for Beszel, set the domain on the hub container, then deploy.

  3. Open https://status.<domain> and create your admin account.

  4. In the Beszel hub, go to Systems → Add system. Fill in a name and localhost as the host. Beszel will display a KEY value — copy it.

  5. In Coolify, find the Beszel service and open the agent container. Set the KEY environment variable to the copied value, then restart the agent.

  6. 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.

  1. In the hub, go to Settings → SMTP settings and fill in:
FieldValue
Host<your SMTP host>
Port587
User<your SMTP username>
Password<your SMTP password>
From<your sender address>
  1. Send a test email to confirm delivery.