Beszel — a lightweight server monitoring hub with historical CPU/memory/disk/network stats, Docker container stats, and configurable alerts. Deployed as the host (web UI + database); add the beszel-agent on each machine you want to monitor. A simpler alternative to the monitoring pack.
Save as values.hcl, edit, then run:
# The name of the Nomad job.
job_name = "beszel"
# The Nomad namespace to deploy into.
namespace = "default"
# The datacenters to deploy to.
datacenters = ["*"]
# The Beszel hub container image. Pin a tag in production.
image = "henrygd/beszel:latest"
# Host port for the Beszel hub web UI.
port = 8090
# Named volume for the Beszel hub data — SQLite database and config (/beszel_data).
data_volume = "beszel_data"
# Placement constraints. Pin to the node holding the volume. On a nomploy cluster: attribute = "$${meta.nomploy_control_plane}", operator = "=", value = "true".
constraints = []
# The task resources.
resources = {
cpu = 200
memory = 128
}
| Name | Type | Default | Description |
|---|---|---|---|
| job_name | string | "beszel" | The name of the Nomad job. |
| namespace | string | "default" | The Nomad namespace to deploy into. |
| datacenters | list | ["*"] | The datacenters to deploy to. |
| image | string | "henrygd/beszel:latest" | The Beszel hub container image. Pin a tag in production. |
| port | number | 8090 | Host port for the Beszel hub web UI. |
| data_volume | string | "beszel_data" | Named volume for the Beszel hub data — SQLite database and config (/beszel_data). |
| constraints | list | [] | Placement constraints. Pin to the node holding the volume. On a nomploy cluster: attribute = "$${meta.nomploy_control_plane}", operator = "=", value = "true". |
| resources | object | {
cpu = 200
memory = 128
} | The task resources. |
No variables match.
Beszel — a lightweight server monitoring hub: historical CPU, memory, disk, and network stats, Docker container stats, and configurable alerts, all in a small self-hosted web app. A simpler alternative to the monitoring (Prometheus/Grafana) pack.
This pack runs the hub (web UI + database). To collect metrics, run the beszel-agent on each machine you want to monitor.
nomad-pack registry add nomploy https://github.com/Nomploy/nomad-packs
nomad-pack run beszel --registry=nomploy
| Variable | Default | Description |
|---|---|---|
port |
8090 |
Hub web UI port. |
data_volume |
beszel_data |
/beszel_data — SQLite database + config. |
image |
henrygd/beszel:latest |
Hub image. Pin a tag in production. |
resources |
{ cpu = 200, memory = 128 } |
Task resources. |
Create the admin account on first visit. Add system in the UI generates the agent install
command + TOKEN/KEY for each host; run henrygd/beszel-agent there (separate from this pack).
Pin the job to the node holding the volume with constraints.