Beszel

Developer Tools

A lightweight server monitoring hub with historical data, docker stats and alerts.

Latest v0.18.7 · by henrygdWebsitehenrygd/beszel

Release activity

Release activity — 10 releases across 9 days since Nov 14, 2025. Each cell is one day; darker means more releases that day. Nothing is recorded before Nov 14, 2025. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Apr 26, 2026No releases on May 3, 2026No releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026
MondayNo releases on Apr 27, 2026No releases on May 4, 2026No releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026No releases on Aug 10, 2026
TuesdayNo releases on Apr 28, 2026No releases on May 5, 2026No releases on May 12, 2026No releases on May 19, 2026No releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026No releases on Aug 11, 2026
WednesdayNo releases on Apr 29, 2026No releases on May 6, 2026No releases on May 13, 2026No releases on May 20, 2026No releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026
ThursdayNo releases on Apr 30, 2026No releases on May 7, 2026No releases on May 14, 2026No releases on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026
FridayNo releases on May 1, 2026No releases on May 8, 2026No releases on May 15, 2026No releases on May 22, 2026No releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on May 2, 2026No releases on May 9, 2026No releases on May 16, 2026No releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026

10 releases since Nov 14, 2025, busiest day 2

Changelog

v0.18.7

Added 3
  • Add more disk I/O metrics (utilization, read/write time, await, queue depth)
  • Add ability to copy alerts between systems
  • Add SENSORS_TIMEOUT environment variable
Changed 4
  • Replace distatus/battery with an internal implementation
  • Restrict universal token API to non-superuser accounts
  • Upgrade JS dependencies with security alerts
  • Upgrade PocketBase to latest version
Fixed 6
  • Fix macOS ARM64 crashes by upgrading gopsutil to v4.26.3
  • Fix text size for system names in grid view
  • Fix NVMe capacity reporting for Apple SSDs
  • Fix Windows root disk detection when the executable is not on the root disk
  • Fix nested virtual filesystem inclusion in Docker when mounting host root
  • Fix OPNsense installation persistence by using the daemon user
What's Changed
  • Add more disk I/O metrics (utilization, read/write time, await, queue depth) (#1866)
  • Add ability to copy alerts between systems by @svenvg93 (#1853)
  • Add SENSORS_TIMEOUT environment variable (#1871)
  • Replace distatus/battery with an internal implementation by @svenvg93 (#1872)
  • Restrict universal token API to non-superuser accounts (#1870)
  • Fix macOS ARM64 crashes by upgrading gopsutil to v4.26.3 (#1881, #796)
  • Fix text size for system names in grid view by @Malith-Rukshan (#1860)
  • Fix NVMe capacity reporting for Apple SSDs by @svenvg93 (#1873)
  • Fix Windows root disk detection when the executable is not on the root disk (#1863)
  • Fix nested virtual filesystem inclusion in Docker when mounting host root by @svenvg93 (#1859)
  • Fix OPNsense installation persistence by using the daemon user by @svenvg93 (#1880)
  • Upgrade JS dependencies with dependabot security alerts by @svenvg93 (#1882)
  • Upgrade PocketBase to latest version
New Contributors

Full Changelog: https://github.com/henrygd/beszel/compare/v0.18.6...v0.18.7

View originalPermalink
How v0.18.7 went

v0.18.6

Added 1
  • Add apple-touch-icon link
Changed 1
  • Reset SMART interval on agent reconnect if the agent hasn't collected SMART data, allowing config changes to take effect immediately
Fixed 4
  • Fix regression in partition discovery on Docker
  • Fix UI bug where charts did not display 1m max until next update
  • Fix agent detection of Podman when using socket proxy
  • Fix NVML GPU collection being disabled when nvidia-smi is not in PATH
What's Changed
  • Add apple-touch-icon link by @y1zhou in https://github.com/henrygd/beszel/pull/1850
  • Fix regression in partition discovery on Docker (#1847)
  • Fix UI bug where charts did not display 1m max until next update
  • Fix agent detection of Podman when using socket proxy (#1846)
  • Fix NVML GPU collection being disabled when nvidia-smi is not in PATH (#1849)
  • Reset SMART interval on agent reconnect if the agent hasn't collected SMART data, allowing config changes to take effect immediately
New Contributors

Full Changelog: https://github.com/henrygd/beszel/compare/v0.18.5...v0.18.6

View originalPermalink
How v0.18.6 went

v0.18.5

Added 6
  • Add "update available" notification in hub web UI with CHECK_UPDATES=true
  • Add Linux mdraid health monitoring
  • Add ports column to containers table
  • Allow Linux systemd timer monitoring with SERVICE_PATTERNS
  • Add ZFS ARC support on FreeBSD
  • Add optional tabs layout on web UI system page
Changed 3
  • Improve web UI performance and mobile styles
  • Improve disk discovery and I/O device matching
  • Improve status alert reliability
Fixed 11
  • Fix temperature collection blocking agent stats on some systems
  • Fix SMART_INTERVAL consistency across agent reconnects
  • Fix container health status for Podman
  • Fix disk usage averaging for extra disk alerts using historical records
  • Fix bandwidth alert computation from byte-per-second source
  • Fix 1m chart view leading to inflated Docker network IO during use
What's Changed
  • Add "update available" notification in hub web UI with CHECK_UPDATES=true by @svenvg93 in https://github.com/henrygd/beszel/pull/1830
  • Add Linux mdraid health monitoring by @VACInc in https://github.com/henrygd/beszel/pull/1750
  • Add ports column to containers table (#1481)
  • Allow Linux systemd timer monitoring with SERVICE_PATTERNS (#1820)
  • Add ZFS ARC support on FreeBSD
  • Add optional tabs layout on web UI system page (#1513)
  • Improve web UI performance and mobile styles (thanks @steveiliop56 for new mobile menu in #1840)
  • Improve disk discovery and I/O device matching (#1811, #1772)
  • Improve (likely fix) status alert reliability (#1519)
  • Fix temperature collection blocking agent stats on some systems by @Jimbojones1 in https://github.com/henrygd/beszel/pull/1839
  • Fix SMART_INTERVAL consistency across agent reconnects (#1800)
  • Fix container health status for Podman (#1475)
  • Fix disk usage averaging for extra disk alerts using historical records by @victoreduardo in https://github.com/henrygd/beszel/pull/1801
  • Fix bandwidth alert computation from byte-per-second source (#1770)
  • Fix 1m chart view leading to inflated Docker network IO during use
  • Fix daylight saving time offset handling in daily quiet hours by @svenvg93 in https://github.com/henrygd/beszel/pull/1827
  • Fix potential nil pointer panics in hub realtime worker and websocket ping
  • Fix: bypass NIC auto-filter when interface is explicitly whitelisted via NICS by @svenvg93 in https://github.com/henrygd/beszel/pull/1805
  • Fix ATA device statistics handling for negative values (#1791)
  • Fix AMD GPU sysfs filesize misreporting workaround (#1799)
  • Fix light flashes when refresh in dark mode by @svenvg93 in https://github.com/henrygd/beszel/pull/1832
  • Fix macOS agent path lookup for macmon (#1746)
  • Update Go version and dependencies
New Contributors

Full Changelog: https://github.com/henrygd/beszel/compare/v0.18.4...v0.18.5

View originalPermalink
How v0.18.5 went

v0.18.4

Added 10
  • Add outbound heartbeat monitoring to external services
  • Add experimental GPU monitoring for Apple Silicon
  • Add nvtop integration for GPU monitoring
  • Add GPU_COLLECTOR environment variable to manually specify the GPU collector(s)
  • Add eMMC health via sysfs to SMART monitoring
  • Add DISABLE_SSH environment variable to disable SSH agent functionality
Changed 5
  • Include GTT memory in AMD GPU metrics and improve device name lookup
  • Improve multiplexed logs detection for Podman
  • Retry Docker check on non-200 HTTP response
  • Add InstallMethod parameter to Windows install script
  • Update Go version and dependencies
Fixed 2
  • Fix issue where the agent could report incorrect root disk I/O when running in Docker
  • Fix race issue with meter threshold colors
Security 1
  • Harden against Docker API path traversal
What's Changed
  • Add outbound heartbeat monitoring to external services by @amirhmoradi in https://github.com/henrygd/beszel/pull/1729
  • Add experimental GPU monitoring for Apple Silicon by @raccettura. (#1747, #1746, docs)
  • Add nvtop integration for GPU monitoring. (#1508)
  • Add GPU_COLLECTOR environment variable to manually specify the GPU collector(s).
  • SMART: add eMMC health via sysfs by @VACInc in https://github.com/henrygd/beszel/pull/1736
  • Add DISABLE_SSH environment variable to disable SSH agent functionality. (#1061)
  • Add fingerprint command to the agent. (#1726)
  • Include GTT memory in AMD GPU metrics and improve device name lookup. (#1569)
  • Improve multiplexed logs detection for Podman. (#1755)
  • Harden against Docker API path traversal.
  • Fix issue where the agent could report incorrect root disk I/O when running in Docker. (#1737)
  • Show system uptime in the system table by @svenvg93 in https://github.com/henrygd/beszel/pull/1719
  • Retry Docker check on non-200 HTTP response by @ElioDiNino in https://github.com/henrygd/beszel/pull/1754
  • Allow precise value entry for alerts via text input by @svenvg93 in https://github.com/henrygd/beszel/pull/1718
  • Add version flag to agent by @svenvg93 in https://github.com/henrygd/beszel/pull/1639
  • Fix race issue with meter threshold colors.
  • Add InstallMethod parameter to Windows install script.
  • Update Go version and dependencies.
New Contributors

Full Changelog: https://github.com/henrygd/beszel/compare/v0.18.3...v0.18.4

View originalPermalink
How v0.18.4 went

v0.18.3

Added 5
  • Add experimental sysfs AMD GPU collector
  • Add SMART_DEVICES_SEPARATOR and allow drives with the same name to be added with different types
  • Parse ATA device statistics for temperature and future metrics
  • Add tooltips to navbar buttons
  • Add tooltip to system name in systems table
Changed 7
  • Improve container network stats accuracy
  • Update LibreHardwareMonitorLib to use PawnIO instead of WinRing0
  • Write health_file to /dev/shm instead of /tmp if available
  • Increase smartctl --scan timeout to 10 seconds
  • Change usermod to addgroup for docker access
  • Update honeypot field name and autofill ignores
  • Update Go dependencies
Fixed 8
  • Fix SHARE_ALL_SYSTEMS for system_details, smart_devices, and systemd_services
  • Improve CJK truncation in UI
  • Fix container uptime sorting edge case
  • Ensure battery current charge doesn't exceed full capacity
  • Restore Add System button on mobile
  • Apply SELinux context after binary replacement
  • Don't force lowercase text
  • Ignore alt key combinations
Removed 1
  • Remove stale systemd services from tracking after deletion
Deprecated 1
  • Container NetworkSent and NetworkRecv fields deprecated in favor of Bandwidth
Notice
  • The Windows agent's updated version of LibreHardwareMonitorLib now uses PawnIO instead of WinRing0. If you lose temperature sensors, make sure PawnIO is installed. (See #1657 and #1697.)

  • Container NetworkSent and NetworkRecv fields have been deprecated in favor of Bandwidth. Agents will stop populating those fields in 0.19.0, so please update any integrations to prefer Bandwidth. It's available for all containers on hubs >= 0.18.3.

What's Changed
  • Add experimental sysfs AMD GPU collector. (#737, #1569)
  • Improve container network stats accuracy.
  • Fix SHARE_ALL_SYSTEMS for system_details, smart_devices, and systemd_services. (#1660)
  • Improve CJK truncation in UI.
  • Fix container uptime sorting edge case. (#1696)
  • Remove stale systemd services from tracking after deletion. (#1594)
  • Update honeypot field name and autofill ignores. (#1011)
  • Write health_file to /dev/shm instead of /tmp if available. (#1455)
  • Ensure battery current charge doesn't exceed full capacity. (#1668)
  • Increase smartctl --scan timeout to 10 seconds. (#1465)
  • Update Go dependencies
New Contributors

Full Changelog: https://github.com/henrygd/beszel/compare/v0.18.2...v0.18.3

View originalPermalink
How v0.18.3 went

v0.18.2

Added 1
  • Add separate dynamically linked glibc build for Linux
Changed 2
  • Agent update command now detects your system's C library and downloads the optimal binary (static or glibc) on Linux
  • Only hide GPU engine graph if entire usage is 0%
Fixed 4
  • Fix regression where agent binary was dynamically linked, causing failures on musl-based Linux distributions like Alpine and OpenWrt
  • Fix GPU ID collision between Intel and NVIDIA collectors
  • Fix some Indonesia translations
  • Fix Jetson tegrastats regex for pre Jetpack5

This release fixes a regression that resulted in the agent binary being dynamically linked, causing it to fail on musl-based Linux distributions like Alpine and OpenWrt. If you were affected by this, see below for instructions to fix.

What's Changed
New Contributors
Fix for musl-based Linux distributions

If you updated to a version that currently fails to start (./beszel-agent: not found), you can restore your agent by running the following commands:

# 1. Download latest static binary (replace 'amd64' with your arch if different)
curl -L https://github.com/henrygd/beszel/releases/latest/download/beszel-agent_linux_amd64.tar.gz | tar -xz

# 2. Replace the broken binary
mv beszel-agent /opt/beszel-agent/beszel-agent
chmod +x /opt/beszel-agent/beszel-agent

# 3. Restart the service
# For Alpine:
rc-service beszel-agent restart
# For OpenWRT:
/etc/init.d/beszel-agent restart

Full Changelog: https://github.com/henrygd/beszel/compare/v0.18.1...v0.18.2

View originalPermalink
How v0.18.2 went

v0.18.1

Fixed 2
  • Fix bug where all containers were cleared from the All Containers page when any system returned no containers
  • Fix temporary problem with the :latest Docker image that may have caused agents to report as down

Fixes bug in 0.18.0 release where all containers were cleared from the "All Containers" page when any system returned no containers.

Additionally, there was a temporary problem with the :latest Docker image which may have caused your agents to report as down. This is fixed now and you can re-pull the image if necessary: https://github.com/henrygd/beszel/issues/1618#issuecomment-3736640026

View originalPermalink
How v0.18.1 went

v0.18.0

Added 10
  • Add option to make universal token permanent
  • Add experimental NVML GPU collector
  • Add low battery alerts
  • Add battery charge to systems table
  • Add `--url` and `--token` command line arguments to the agent
  • Collect S.M.A.R.T. data in the background every hour
Changed 3
  • Improve S.M.A.R.T. device path lookup for NVMe devices
  • Raise `smartctl` timeout to 15 seconds
  • Rename login honeypot field to prevent password manager autofill
Fixed 5
  • Fix container logs decoding for raw streams
  • Fix LoaderCircle transfer when there is no client
  • Fix non unique fingerprint
  • Fix disk sorting in smart table
  • Use origin country flags for Spanish and Portuguese languages
What's Changed
  • Add option to make universal token permanent. (#1097, #1614)
  • Add experimental NVML GPU collector. (#1522, #1587)
  • Add low battery alerts. (#1507)
  • Add battery charge to systems table.
  • Add --url and --token command line arguments to the agent. (#1524)
  • Collect S.M.A.R.T. data in the background every hour.
  • Add SMART_INTERVAL environment variable to customize S.M.A.R.T. data collection interval.
  • Collect system distribution and architecture.
  • Add system_details collection to store infrequently updated system information.
  • Improve S.M.A.R.T. device path lookup for NVMe devices. (#1504)
  • Raise smartctl timeout to 15 seconds. (#1465)
  • Fix container logs decoding for raw streams. (#1535)
  • Rename login honeypot field to prevent password manager autofill (#1011).
  • fix: When there is no client, LoaderCircle will always transfer by @Zero2A11 in https://github.com/henrygd/beszel/pull/1511
  • fix non unique fingerprint by @deadbeef84 in https://github.com/henrygd/beszel/pull/1556
  • bug: fix disk sorting in smart table by @svenvg93 in https://github.com/henrygd/beszel/pull/1551
  • chore; add check for systemd before monitoring by @svenvg93 in https://github.com/henrygd/beszel/pull/1550
  • fix: use origin country flags for Spanish and Portuguese languages by @Natxo09 in https://github.com/henrygd/beszel/pull/1571
  • Add Serbian and Bahasa Indonesia translations.
  • Update Go dependencies.
New Contributors

Full Changelog: https://github.com/henrygd/beszel/compare/v0.17.0...v0.18.0

View originalPermalink
How v0.18.0 went

v0.17.0

Added 7
  • Add quiet hours to silence alerts during specific time periods
  • Add dedicated S.M.A.R.T. page
  • Add alerts for S.M.A.R.T. failures
  • Add DISK_USAGE_CACHE environment variable
  • Add SKIP_SYSTEMD environment variable
  • Add hub builds for Windows and FreeBSD
  • Add crossorigin attribute to manifest link
Changed 2
  • Change extra disk indicators in systems table to display usage range as dots
  • Update Go dependencies
Fixed 3
  • Strip ANSI escape sequences from docker logs
  • Fix font ligatures creating unwanted artifacts in random ids
  • Fix the issue where the Add System button is visible to read-only users
What's Changed
  • Add quiet hours to silence alerts during specific time periods. (#265)
  • Add dedicated S.M.A.R.T. page.
  • Add alerts for S.M.A.R.T. failures.
  • Add DISK_USAGE_CACHE environment variable. (#1426)
  • Add SKIP_SYSTEMD environment variable. (#1448)
  • Add hub builds for Windows and FreeBSD.
  • Change extra disk indicators in systems table to display usage range as dots. (#1409)
  • Strip ANSI escape sequences from docker logs. (#1478)
  • Font ligatures create unwanted artifacts in random ids by @m90 in https://github.com/henrygd/beszel/pull/1434
  • fix: Fix the issue where the Add System button is visible to read-only users. by @zjkal in https://github.com/henrygd/beszel/pull/1442
  • [Feature] Add crossorigin attribute to manifest link by @pavelpikta in https://github.com/henrygd/beszel/pull/1457
  • Update Go dependencies.
New Contributors

Full Changelog: https://github.com/henrygd/beszel/compare/v0.16.1...v0.17.0

View originalPermalink
How v0.17.0 went

v0.16.1

Added 5
  • Add services column to All Systems table
  • Add SERVICE_PATTERNS environment variable to filter systemd services
  • Detect and handle immutable filesystems like Fedora Silverblue
  • Add setting for layout width
  • Add alert history page size preference persistence
Changed 2
  • Set a dynamic upper domain on the YAxis for container chart
  • Update Go dependencies

Full Changelog: https://github.com/henrygd/beszel/compare/v0.16.0...v0.16.1

View originalPermalink
How v0.16.1 went
View all

Discussion