beszel

package module
v0.18.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 5, 2026 License: MIT Imports: 1 Imported by: 0

README

Beszel

Beszel is a lightweight server monitoring platform that includes Docker statistics, historical data, and alert functions.

It has a friendly web interface, simple configuration, and is ready to use out of the box. It supports automatic backup, multi-user, OAuth authentication, and API access.

agent Docker Image Size hub Docker Image Size MIT license Crowdin

Screenshot of Beszel dashboard and system page, side by side. The dashboard shows metrics from multiple connected systems, while the system page shows detailed metrics for a single system.

Features

  • Lightweight: Smaller and less resource-intensive than leading solutions.
  • Simple: Easy setup with little manual configuration required.
  • Docker stats: Tracks CPU, memory, and network usage history for each container.
  • Alerts: Configurable alerts for CPU, memory, disk, bandwidth, temperature, load average, and status.
  • Multi-user: Users manage their own systems. Admins can share systems across users.
  • OAuth / OIDC: Supports many OAuth2 providers. Password auth can be disabled.
  • Automatic backups: Save to and restore from disk or S3-compatible storage.

Architecture

Beszel consists of two main components: the hub and the agent.

  • Hub: A web application built on PocketBase that provides a dashboard for viewing and managing connected systems.
  • Agent: Runs on each system you want to monitor and communicates system metrics to the hub.

Getting started

The quick start guide and other documentation is available on our website, beszel.dev. You'll be up and running in a few minutes.

Screenshots

Dashboard System page Notification Settings

Supported metrics

  • CPU usage - Host system and Docker / Podman containers.
  • Memory usage - Host system and containers. Includes swap and ZFS ARC.
  • Disk usage - Host system. Supports multiple partitions and devices.
  • Disk I/O - Host system. Supports multiple partitions and devices.
  • Network usage - Host system and containers.
  • Load average - Host system.
  • Temperature - Host system sensors.
  • GPU usage / power draw - Nvidia, AMD, and Intel.
  • Battery - Host system battery charge.
  • Containers - Status and metrics of all running Docker / Podman containers.
  • S.M.A.R.T. - Host system disk health (includes eMMC wear/EOL and Linux mdraid array health via sysfs when available).

Help and discussion

Please search existing issues and discussions before opening a new one. I try my best to respond, but may not always have time to do so.

Bug reports and feature requests

Bug reports and feature requests can be posted on GitHub issues.

Support and general discussion

Support requests and general discussion can be posted on GitHub discussions or the community-run Matrix room: #beszel:matrix.org.

License

Beszel is licensed under the MIT License. See the LICENSE file for more details.

Documentation

Overview

Package beszel provides core application constants and version information which are used throughout the application.

Index

Constants

View Source
const (
	// Version is the current version of the application.
	Version = "0.18.7"
	// AppName is the name of the application.
	AppName = "beszel"
)

Variables

View Source
var MinVersionAgentResponse = semver.MustParse("0.13.0")

MinVersionAgentResponse is the minimum supported version for AgentResponse compatibility.

View Source
var MinVersionCbor = semver.MustParse("0.12.0")

MinVersionCbor is the minimum supported version for CBOR compatibility.

Functions

This section is empty.

Types

This section is empty.

Directories

Path Synopsis
Package agent implements the Beszel monitoring agent that collects and serves system metrics.
Package agent implements the Beszel monitoring agent that collects and serves system metrics.
battery
Package battery provides functions to check if the system has a battery and return the charge state and percentage.
Package battery provides functions to check if the system has a battery and return the charge state and percentage.
deltatracker
Package deltatracker provides a tracker for calculating differences in numeric values over time.
Package deltatracker provides a tracker for calculating differences in numeric values over time.
health
Package health provides functions to check and update the health of the agent.
Package health provides functions to check and update the health of the agent.
zfs
Package zfs provides functions to read ZFS statistics.
Package zfs provides functions to read ZFS statistics.
internal
alerts
Package alerts handles alert management and delivery.
Package alerts handles alert management and delivery.
cmd/agent command
cmd/hub command
ghupdate
Package ghupdate implements a new command to self update the current executable with the latest GitHub release.
Package ghupdate implements a new command to self update the current executable with the latest GitHub release.
hub
Package hub handles updating systems and serving the web UI.
Package hub handles updating systems and serving the web UI.
hub/config
Package config provides functions for syncing systems with the config.yml file
Package config provides functions for syncing systems with the config.yml file
hub/expirymap
Package expirymap provides a thread-safe map with expiring entries.
Package expirymap provides a thread-safe map with expiring entries.
hub/heartbeat
Package heartbeat sends periodic outbound pings to an external monitoring endpoint (e.g.
Package heartbeat sends periodic outbound pings to an external monitoring endpoint (e.g.
hub/transport
Package transport provides a unified abstraction for hub-agent communication over different transports (WebSocket, SSH).
Package transport provides a unified abstraction for hub-agent communication over different transports (WebSocket, SSH).
records
Package records handles creating longer records and deleting old records.
Package records handles creating longer records and deleting old records.
site
Package site handles the Beszel frontend embedding.
Package site handles the Beszel frontend embedding.
users
Package users handles user-related custom functionality.
Package users handles user-related custom functionality.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL