v0.12.5
Fixes a couple of FreeBSD-specific issues.
- Downgrade
gopsutiltov4.25.6to fix panic on FreeBSD (#1083) - Exclude FreeBSD from battery charge monitoring to fix deadlock. (#1081)
- Minor hub UI improvements.
Full Changelog: v0.12.4...v0.12.5
update commands. (#1035)/api/beszel/user-alerts endpoint. Remove use of batch API for alerts in hub.Full Changelog: v0.12.3...v0.12.4
Full Changelog: v0.12.2...v0.12.3
The agent must be run as administrator to access sensors through LibreHardwareMonitorLib, just as when running LibreHardwareMonitor directly. I'll update the docs this weekend with more details and instructions for configuring this with NSSM.
Full Changelog: v0.12.1...v0.12.2
Bug fixes, updated translations, and a few small improvements.
TOKEN_FILE environment variable (#984)WinGet users should refer to this guide if the upgrade doesn't work. It may take another day or two for me to sort it out.
Full Changelog: v0.12.0...v0.12.1
Version 0.12.0 adds the ability for agents to initiate an outgoing connection to the hub.
It also introduces universal tokens, which allow agents to self-register without prior configuration in the hub.
Other improvements include load average monitoring, unit display preferences, increased accuracy of network metrics, and an alert history table.
Thanks to everyone who contributed to this release!
WinGet users should refer to this guide if the upgrade doesn't work. It may take another day or two for me to sort it out.
Full Changelog: v0.11.1...v0.12.0
This is a beta release. Please make a hub backup before upgrading.
For more information about new features in 0.12.0, see the 0.12.0-beta1 release notes.
Please report issues or provide feedback in #951. Thanks!
:edge tag.For those running the Linux agent binary, the copy/paste install command in the hub should work if you add -v "0.12.0-beta2" to the script arguments.
Full Changelog: v0.12.0-beta1...v0.12.0-beta2
This is a beta release. Please make a hub backup before upgrading.
Version 0.12.0 adds the ability for agents to initiate an outgoing connection to the hub.
It also introduces universal tokens, which can be used to register systems without needing to add them manually in the hub. It also allows you to deploy multiple agents with the same configuration, which should make cluster deployments easier.
Please report issues or provide feedback in #951. Thanks!
:edge tag.The WebSocket connection works in tandem with the agent's existing SSH server. If the agent connects successfully via WebSocket it will stop the SSH server. Likewise, if the agent connects via SSH it will stop attempting to connect via WebSocket.
Note: Don't add the
HUB_URLenv var to an agent that connects to multiple hubs. This isn't supported yet with WebSocket. Otherwise everything should be fully backwards compatible.
The agent gets two new environment variables:
HUB_URL: The URL of the hub.TOKEN: The token associated with the system, provided in the hub.You can copy these values for existing systems in the hub at /settings/tokens.
We use a mutual authentication handshake that ensures both parties are trusted before any data is exchanged. Let me know if you have ideas for improvement.
Initial connection and token verification: The agent initiates a WebSocket connection to the hub. It includes a unique registration token as an HTTP header during the upgrade request. The hub verifies that the token is associated with an existing system before upgrading the connection.
Hub challenge: To prove its identity to the agent, the hub signs the token using its private key and sends the signature back to the agent. The agent verifies the signature using its public key.
Fingerprint authentication: After verifying the hub, the agent responds by sending its fingerprint. This fingerprint is a secure hash of unique identifiers, locking the agent's registration to the machine it's running on. The hub verifies the received fingerprint against the one stored for the system. If they match, the connection is authorized.
Full Changelog: v0.11.1...v0.12.0-beta1
Please make sure to use the DISABLE_PASSWORD_AUTH environment variable if you want to disable password authentication. Directly editing the PocketBase users collection does not persist this setting after restart.
DOCKER_HOST="" will skip attempting to connect to the Docker daemon.Full Changelog: v0.11.0...v0.11.1
SENSORS env var now supports wildcards and can be used as a blacklist (#650).EXTRA_FILESYSTEMS drive detection on Windows (#422)nvidia-smi dependency for Jetson devices (#286).--auto-update Option to Agent Installer Script by @daniel-hiller in #682Full Changelog: v0.10.2...v0.11.0
health commands for Docker healthchecks (instructions) (#324)PRIMARY_SENSOR (#663)Full Changelog: v0.10.1...v0.10.2
Quick patch release to fix #643 and a problem with starting the server on new installs.
See 0.10.0 release notes here: https://github.com/henrygd/beszel/releases/tag/v0.10.0
Full Changelog: v0.10.0...v0.10.1
The Windows agent is experimental and may get flagged by AV. I'll try to improve the setup process and sort out the major issues over the next handful of minor releases. See this article by Alex Kretzschmar for usage.
SHARE_ALL_SYSTEMS env var to share all systems with all users. (#585)PRIMARY_SENSOR env var to choose which sensor displays in the table.NETWORK env var to specify tcp, tcp4, tcp6, or unix.BESZEL_HUB_ and BESZEL_AGENT_ prefixes for all env vars.tegrastats. (#476, #286)KEY_FILE env var to supply keys to agent via file. (#411, #412)PORT env var with LISTEN. PORT will continue to be supported.I'll add more i18n contributions tomorrow. It's late here and I'm going to bed :)
Full Changelog: v0.9.1...v0.10.0
startSystemUpdateTicker using time.Tick by @chuangbo in #347warn by default for new installations.Full Changelog: v0.9.0...v0.9.1
This release includes breaking changes to the REST API. Most importantly, /api/admins/* has been replaced with the _superusers auth collection. For more information see "Web APIs changes" in the PocketBase 0.23.0 release notes.
/_/#/settings page.USER_CREATION environment variable to allow automatic creation of user accounts via OAuth. (#291)RestartSec directive to the service configuration for both agent and hub scripts by @Sped0n (#311)autoComplete="off" to the login honeypot field to (hopefully) prevent the browser from autofilling it in some instances. (#314)Please contribute translation improvements here: https://crowdin.com/project/beszel
Full Changelog: v0.8.0...v0.9.0
GPU=true. Still binary agent only and requires nvidia-smi or rocm-smi (see #262).Please contribute translation improvements here: https://crowdin.com/project/beszel
Full Changelog: v0.7.4...v0.8.0
Full Changelog: v0.7.3...v0.7.4
For example, I have an encrypted external SSD that never showed I/O stats when using the Docker agent:
With lsblk we can see that the LUKS partition is associated with sda1:
sda ββsda1 ββluks-d76c2e14-0264-446f-af20-edb8e3e28741
We'll update the mountpoint to use sda1 as the folder name.
volumes: - /mnt/my-extra-drive:/extra-filesystems/sda1:ro
The agent will first check if I/O stats are available for luks-d76c2e14-0264-446f-af20-edb8e3e28741.
Because they are not, the agent will check the folder name (sda1). I/O for sda1 is available, so it will use sda1 for this disk instead of luks-d76c2e14-0264-446f-af20-edb8e3e28741. The read/write stats now populate as intended:
Full Changelog: v0.7.2...v0.7.3
Apologies for multiple patch releases today! There are no changes to the agent in this release.
Full Changelog: v0.7.1...v0.7.2
SENSORS is set as an empty string. (#196)Huge thanks to @ArsFy for doing a ton of work on this release!
And further apologies to @alexzaitsev for accidentally deleting your Ukrainian translations π.
Full Changelog: v0.6.2...v0.7.0
Full Changelog: v0.6.0...v0.6.1