Advanced Configurations
Enviroment Variables
Beszel Environment Variables
Below is a comprehensive list of environment variables for both the Beszel Hub and the Agent. These variables control functionality such as content security policies, OAuth/OIDC behavior, filesystem monitoring, and more. For additional details, refer to the official Beszel Environment Variables Guide.
Hub
Name | Default | Description |
---|---|---|
CSP |
unset | Adds a Content-Security-Policy header with this value. |
DISABLE_PASSWORD_AUTH |
false | Disables password authentication. |
USER_CREATION |
false | Enables automatic user creation for OAuth2 / OIDC. |
Agent
Name | Default | Description |
---|---|---|
DOCKER_HOST |
unset | Overrides the docker host (docker.sock ) if using a proxy. Relevant when using linuxserver/docker-socket-proxy or similar. |
EXTRA_FILESYSTEMS |
unset | Monitor extra disks if using the binary agent. See Additional Disks . |
FILESYSTEM |
unset | Device, partition, or mount point to use for root disk stats. |
KEY |
unset | Public SSH key to use for authentication (provided by the Hub). |
LOG_LEVEL |
info | Logging level. Valid values:
|
GPU Monitoring
GPU Monitoring
Beszel can monitor GPU usage, temperature, and power draw for select devices. This feature is currently only available in the binary agent, not in the Docker agent.
Binary Agent Only
The Docker agent does not support GPU monitoring. You must use the binary agent if you need GPU metrics. For installation and usage details, refer to the official Beszel documentation on installing the binary agent.
AMD GPUs
Beszel uses rocm-smi
to monitor AMD GPUs. Ensure rocm-smi
is installed on the system running the agent.
- Installation Path: On Arch and Debian systems, installing
rocm-smi-lib
typically places the binary in/opt/rocm/bin
. - Symlink to /usr/local/bin: If
/opt/rocm/bin
isn't in the user'sPATH
, create a symlink:sudo ln -s /opt/rocm/bin/rocm-smi /usr/local/bin/rocm-smi
Nvidia GPUs
Beszel uses nvidia-smi
to monitor Nvidia GPUs. This must be installed on the system.
- Nvidia Jetson Devices: Jetson boards are not compatible with
nvidia-smi
and are not currently supported. It may be possible to usetegrastats
to track some metrics, but full support is not yet implemented.
Intel GPUs
Intel GPUs are not currently supported due to:
- No test hardware is available to the developer.
- There is no straightforward utility akin to
nvidia-smi
for real-time Intel GPU metrics (utilization, memory usage).
Please see issue #262 for more information or to track progress on Intel GPU support.
User Accounts
User Accounts
This section covers the various user roles in Beszel, their permissions, and how to reset or change passwords. Note that Beszel user roles operate on top of a PocketBase back-end, and some features (like superuser creation) are handled through PocketBase directly.
User Roles
Beszel defines three main user roles:
- Admin: Has access to additional features and settings such as backups, SMTP configurations, and other administrative options within the Beszel Hub. The first user created is automatically granted Admin privileges (and also becomes a PocketBase superuser with the same credentials).
- User: Can create and manage their own systems and alerts but does not have access to the full PocketBase or advanced Beszel administrative settings.
- Read Only: Can view systems shared by an admin and create alerts, but cannot create new systems or make system-level changes.
Important: PocketBase superusers are separate from Beszel user roles. Promoting a Beszel user to Admin role does not create a PocketBase superuser account. If you want them to have access to the PocketBase admin panel (/_/#/
in the browser), you must create a new superuser for them manually via the PocketBase CLI or the Beszel superuser command.
Reset Password
To reset your password, you can use the built-in superuser
command in Beszel. The upsert
subcommand will reset the password if a superuser already exists for the specified email, or it will create a new superuser if one does not exist.
Once you have a PocketBase superuser account, you can change any user's password via the PocketBase admin interface under the users table.
Docker
docker exec beszel /beszel superuser upsert name@example.com password
This command will reset (or create) a PocketBase superuser with the specified email (name@example.com
) and password (password
).
To see all superuser options:
docker exec beszel /beszel superuser --help
Binary
./beszel superuser upsert name@example.com password
And to list all superuser options:
./beszel superuser --help