No description
- Python 93.4%
- Shell 5.6%
- Dockerfile 1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
Build and Publish Container / build-and-publish (push) Successful in 26s
Reviewed-on: #11 |
||
| .forgejo/workflows | ||
| assets | ||
| deploy | ||
| .dockerignore | ||
| .gitignore | ||
| app.py | ||
| compose.yaml | ||
| Dockerfile | ||
| README.md | ||
| requirements.txt | ||
| verify-package.sh | ||
| VERSION | ||
HollandNAS Hardware Monitor v1.7.0
Hardware monitoring and conservative cooling control dashboard for HollandNAS / TrueNAS SCALE.
v1.7.0 changes
Ollama Fan Boost
- Adds an optional Ollama-driven case-fan automation on the Cooling page.
- Disabled by default.
- Uses Ollama
/api/psdirectly as the model-loaded trigger. - Controls only the three case-fan channels:
- Fan 4 — Rear Exhaust.
- Fan 5 — Top Fan 2.
- Fan 6 — Top Fan 1.
- Leaves all three front radiator fans and the AIO pump untouched.
- Uses only the known-working fixed-duty Commander ST write path; it does not use liquidctl hardware fan curves.
- Writes once when a model becomes loaded and once after it unloads; it does not continually rewrite fan duty while state is unchanged.
- Uses a 12-second unload debounce so quick model swaps do not cause unnecessary fan-speed cycling.
- If the Ollama API is unavailable, fan speeds are left unchanged.
- A manual case-fan Apply temporarily overrides the automation until the next Ollama load/unload transition.
- Normal and model-loaded case-fan duty are configurable and persisted in
/data.
CPU and Cooling gauges
- CPU page Temperature is now a 0–100 °C gauge.
- Adds a CPU Utilization gauge with a 0–100% scale.
- Keeps Current Clock, Max Clock, and Governor as standard metric cards.
- Cooling page summary is now four gauges:
- Coolant: 20–50 °C.
- Pump: 0–3000 RPM.
- CPU / Coolant Δ: 0–70 °C.
- Radiator Average: 0–2500 RPM.
- Removes the old Cooling-page fixed-duty/manual-mode badge and explanatory warning/instruction text while retaining all safety behavior.
Ollama model inventory improvements
- Adds an Available Models table sourced from Ollama
/api/tags. - Models are mutually exclusive between Loaded Models and Available Models.
- When a model loads it moves into Loaded Models; when it unloads it returns to Available Models.
- Uses
/api/showto enrich installed-model metadata without loading the model. - Persists a small per-model metadata cache under
/dataso parameter size, quantization, context, and other known details remain available when Ollama does not report them while unloaded. - Changes Unload to Unload In.
- Prefixes the displayed Ollama server version with
v. - Ollama GPU VRAM now shows Ollama VRAM usage over total GPU VRAM, for example
6.2 GiB / 8.0 GiB.
v1.6.1 features retained
- Commander ST hardware fan-curve writes remain fail-closed because the current liquidctl curve path is unreliable on this controller.
- Individual fixed-duty controls remain available for all six fans.
- Pump fixed-duty modes remain available at 75%, 85%, and 100%.
- CPU + GPU utilization history with 1m / 5m / 15m switching and fixed 0–100% scale.
- CPU, NVIDIA GPU, AIO coolant, and pump Overview gauges.
- Combined CPU / GPU / coolant temperature history with 1m / 5m / 15m switching.
- CPU logical-thread utilization bars with slowly decaying trailing markers.
- Conservative Ollama monitoring through the Ollama HTTP API plus existing
/procand NVIDIA process telemetry. - No Docker socket and no Docker-log access.
- Compact network header telemetry.
- GPU page order: Engine Utilization, Thermals & Limits, Performance, GPU Processes.
- Serialized Commander ST reads/writes with transient-response retry handling and last-known-good telemetry fallback.
Persistent data
The TrueNAS deployment mounts:
/mnt/Holland Fast/hardware-monitor/data:/data
The app stores:
/data/hardware_monitor.db— administrator account hash, cooling-control state, Ollama Fan Boost settings, and cached Ollama model metadata./data/session_secret— Flask session-signing secret.
Temperature/utilization histories and CPU trailing markers remain memory-only and are not written to disk.
Ollama connectivity
The TrueNAS compose maps host.docker.internal to Docker's host gateway and defaults to:
http://host.docker.internal:11434
No Docker socket or Docker log access is used.
Image
github.hollandayinn.com/testing/hollandnas-hardware-monitor:1.7.0
Dashboard
http://<TRUENAS-IP>:8765