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