All apps · 0 apps
HW-Monitor
Docker app from antond645-cpu's Repository
Overview
Readme
View on GitHubHW Monitor

Small web dashboard for watching how hard your Linux box is working: temps, voltages, disk SMART, GPU load. Built for home servers and Unraid; runs in Docker or straight on the host.
Metrics are collected in a background thread so the UI stays snappy. Short history lives in memory, longer ranges in SQLite.
What it shows
Live and historical graphs for CPU and GPU utilization, motherboard-style voltages from lm-sensors, disk temperatures via smartctl, plus SMART details when you need them.
Auto-detection
- Disks:
SMART_DEVICES=autowalks block devices (/dev/sda,/dev/nvme0n1, …). - NVIDIA:
ENABLE_NVIDIA=autoturns on whennvidia-smiexists. - AMD / Intel GPUs: sysfs + hwmon when the stack exposes them (
ENABLE_AMD,ENABLE_INTEL).
Pinned drives look like:
SMART_DEVICES=/dev/sda,/dev/nvme0n1
Docker Compose
cp .env.example .env
Set at least AUTH_PASS and SECRET_KEY, tweak SMART_DEVICES if you want. Then:
docker compose up -d --build
Open http://<host>:<PORT> (default port 8181). History goes under ./data.
Running without Docker
You need Linux, Python 3.11+, lm-sensors and smartmontools. NVIDIA metrics need nvidia-smi on the PATH.
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python server.py
Then browse to http://127.0.0.1:8181.
Environment
See .env.example for everything. Most people touch AUTH_PASS, SECRET_KEY, disk list, and the ENABLE_* toggles (auto, true, or false).
Image
Prebuilt containers live on GHCR (ghcr.io/antond645-cpu/hw-monitor). Each git tag publishes matching semver tags; latest follows the newest release.
Unraid Community Applications
Included templates:
unraid/hw-monitor.xmlca_profile.xml
Own Apps feed: Apps → Settings → add a custom repository with this XML:
https://raw.githubusercontent.com/antond645-cpu/hw_monitor/main/unraid/hw-monitor.xml
Refresh, search “HW Monitor”, install.
Global CA listing: submit the repo at ca.unraid.net/submit so it appears for everyone after review.
Caveats
Apple and Windows hosts won’t expose the same sysfs/sensor surface—this targets Linux.
In Docker, SMART needs /dev (and usually SYS_ADMIN + SYS_RAWIO caps) mounted so smartctl can talk to drives. AMD and Intel GPU numbers depend heavily on kernel and Mesa/i915 versions.
Install HW-Monitor on Unraid in a few clicks.
Find HW-Monitor in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/antond645-cpu/hw-monitor:latestRuntime arguments
- Web UI
http://[IP]:[PORT:8181]/- Network
bridge- Shell
sh- Privileged
- false
- Extra Params
--cap-add=SYS_ADMIN --cap-add=SYS_RAWIO
Template configuration
Container Port: 8181
- Target
- 8181
- Default
- 8181
- Value
- 8181
Persistent history database
- Target
- /var/lib/hw_monitor
- Default
- /mnt/user/appdata/hw_monitor/data
- Value
- /mnt/user/appdata/hw_monitor/data
Device nodes for SMART/sensors access
- Target
- /dev
- Default
- /dev
- Value
- /dev
Kernel hardware information
- Target
- /sys
- Default
- /sys
- Value
- /sys
Web UI login password
- Target
- AUTH_PASS
- Default
- change-me
- Value
- change-me
Session signing key (set to a long random value)
- Target
- SECRET_KEY
- Default
- replace-with-long-random-string
- Value
- replace-with-long-random-string
Title displayed in the web interface
- Target
- APP_TITLE
- Default
- HW Monitor
- Value
- HW Monitor
auto or comma-separated devices, e.g. /dev/sda,/dev/nvme0n1
- Target
- SMART_DEVICES
- Default
- auto
- Value
- auto
auto / true / false
- Target
- ENABLE_NVIDIA
- Default
- auto
- Value
- auto
auto / true / false
- Target
- ENABLE_AMD
- Default
- auto
- Value
- auto
auto / true / false
- Target
- ENABLE_INTEL
- Default
- auto
- Value
- auto
DEBUG, INFO, WARNING, ERROR
- Target
- LOG_LEVEL
- Default
- INFO
- Value
- INFO