🛰️ HomeLab Monitor
v… connecting…One small container for your home lab — GPU & local-AI, Docker containers, systemd services and host health, all on one page. Everything is discovered automatically; nothing is hardcoded.
🩺 Setup & requirements
| Requirement | Status | Detail |
|---|
AI agent (MCP)
claude mcp add --transport http homelab …
🛰️ All hosts
| Host | Status | OS / Arch | Updates | CPU | RAM | GPU | Load 1m | Uptime | Temp | Disks |
|---|---|---|---|---|---|---|---|---|---|---|
| Loading fleet… | ||||||||||
🎮 GPU right now
📋 Services on the GPU (selected range)
| Service | Peak | Avg | % time |
|---|
📊 VRAM by service over time
Stacked = VRAM each service holds. Dashed = capacity. Red bands = VRAM pressure; ▼ markers = out-of-memory events.
⚡ GPU utilization, power & temperature
One panel per model server: its VRAM timeline (shared by the models it hosts) plus each model's own peak & average. A server is shown even while Idle (model unloaded / between requests), so nothing vanishes when VRAM is released. Recognised: Ollama, vLLM, SGLang, llama.cpp, LocalAI, HF TGI/TEI, LoRAX, mistral.rs, Aphrodite, koboldcpp, tabbyAPI, text-generation-webui, LM Studio, xinference, OpenLLM, LiteLLM, GPUStack, Cortex/Jan, Ramalama, Nexa, Triton, Infinity, faster-whisper/Speaches, Whisper ASR webservice/WhisperX, Wyoming (HA voice), OpenedAI-Speech, Stable Diffusion (A1111/Forge/SD.Next), InvokeAI, ComfyUI.
📦 Docker containers
| Container | State | Image | Ports | Uptime | RAM | VRAM | Disk | Status |
|---|
🧩 systemd services
🔔 Alerts
Push notifications when something noteworthy happens. Configured here — no env vars, no config files. Either channel (Discord or ntfy) can be used; both are optional. Alerts are edge-triggered (one ping per state change) so they don't spam.
https://ntfy.sh. Self-hosted ntfy works too.Triggers: container unhealthy/exited non-zero/dead, systemd unit failed,
GPU VRAM pressure (free < PRESSURE_FREE_MB), GPU OOM events, and disks crossing the threshold above.
🌐 Hosts
Monitor your other machines from this hub — agentless, read-only, over SSH. Three quick steps: authorize the hub's key on a machine, add it here, then Test.
loading…
🖥️ System
🧠 Memory map — containers & services
🖥️ CPU, RAM & load
🌐 Network
🛡️ Security
Read-only, agentless — no changes are made to any host. Items shown in grey (⚪) couldn't be read without elevated privileges on that machine.
Self-hosted & open source • single container • no Prometheus/Grafana required • history downsampled on read.
GPU services attributed via /proc/<pid>/cgroup + the Docker API.
Ideas welcome — see CONTRIBUTING.md · issues & PRs always open.