Skip to main content

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.

Additional disks​

By default the hub shows one disk, and on a containerized agent it's not actually the host's real root filesystem — Docker allocates the agent container's own root from wherever data-root points (/mnt/data here), so that's what shows up unlabeled, not the true boot disk (sda/20GB).

To get the real boot disk tracked too, mount a marker directory from the host's actual root into /extra-filesystems/ on the beszel-agent service (not the hub) — keyed to the partition name, not the whole-disk device. Confirm with lsblk -o NAME,KNAME,SIZE,TYPE,MOUNTPOINT first; here root is mounted on sda1, not bare sda:

sudo mkdir -p /.beszel
volumes:
- 'beszel_agent_data:/var/lib/beszel-agent'
- 'beszel_socket:/beszel_socket'
- '/var/run/docker.sock:/var/run/docker.sock:ro'
- '/.beszel:/extra-filesystems/sda1:ro'

Redeploy (not just restart — a restart won't pick up a volume change, only a redeploy recreates the container). Confirmed working: the hub now shows both disks separately.

SMART disk monitoring — not available here​

Beszel supports it (:alpine agent image, raw device passthrough, SYS_RAWIO/SYS_ADMIN capabilities), but confirmed via smartctl -a /dev/sda on this server: SMART support is: Unavailable - device lacks SMART capability. The disk identifies as a generic QEMU virtual device — this is Ceph-backed block storage (CEPH_1_perf1), not a physical disk with real firmware behind it, so there's no SMART data to query regardless of how the agent's configured. Not worth setting up here; would need to check on any future non-Infomaniak or bare-metal host instead.

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.