Monitoring, checked 2026-09-07

Beszel: Docker configuration reference

Lightweight self-hosted server monitoring hub with a Go agent reporting CPU, memory, disk and container stats.

At a glance

Ports

Ports
PortWhat listensSource
8090HTTP listener for the hub web UI. Point the reverse proxy here.source for port 8090
45876 (beszel-agent)Default agent listener the hub connects to when using a universal token instead of a unix socket. Not needed on the same Docker network as the hub.source for port 45876

Environment variables

Environment variables
VariableRequiredWhat it doesExampleSource
APP_URLNoPublic URL of the hub, used in notification and agent-config links. Required if the hub is served at a sub-path.https://beszel.example.comsource for APP_URL
TOKENYesUniversal token the agent uses to register itself with the hub.generated from the hub's Add System dialogsource for TOKEN
KEYYesPublic key the agent uses to verify the hub, paired with TOKEN during agent setup.public key from the hubsource for KEY
CA_CERT_FILENoPath to a PEM CA certificate. Since 0.19.0 agents verify the hub's HTTPS certificate, so a self-signed or private CA needs to be supplied here or the connection is rejected./certs/ca.pemsource for CA_CERT_FILE
TRUSTED_AUTH_HEADERNoHeader name to trust for forwarded authentication, for use behind an identity gate like Cloudflare Access. Bypasses built-in login when set, so only set it if the gate is actually enforced upstream.Cf-Access-Authenticated-User-Emailsource for TRUSTED_AUTH_HEADER

Volumes that must persist

Volumes
PathWhat is in itSource
/beszel_dataHub database: users, systems, alerts and history.source for /beszel_data
/var/lib/beszel-agent (beszel-agent)Agent-side state.source for /var/lib/beszel-agent

Behind a reverse proxy

What it needs alongside it

Dependencies
DependencyWhySource
None; agent connects over a unix socket or the hub's websocketThe hub embeds its own SQLite-backed PocketBase database, and the local agent example connects over a shared unix socket volume rather than a network port.source for None; agent connects over a unix socket or the hub's websocket

Release timeline

Releases
VersionDateBreakingWhat changedSource
v0.19.02026-09-03YesAgents now verify the hub's HTTPS certificate; a self-signed or private CA needs CA_CERT_FILE set or the connection is rejected.source for release v0.19.0
v0.18.82026-08-17NoAdds multi-battery monitoring, Linux fan RPM monitoring and Intel Arc GPU monitoring through nvtop.source for release v0.18.8
v0.18.72026-04-05NoAdds more disk I/O metrics and the ability to copy alerts between systems.source for release v0.18.7
v0.18.62026-03-29NoFixes a partition-discovery regression on Docker and a chart display bug.source for release v0.18.6

If it is not coming up

Read from the upstream documentation, repository and container registry by Keita Emsden on 2026-09-07. Every row links the page it came from. Upstream changes without telling anyone, so check the source link before you rely on a value.

Other app references

All app references