SikamikanikoBG

πŸ›°οΈ HomeLab Monitor

Community SikamikanikoBG
Updated

Plug-and-play homelab dashboard in one container β€” GPU, local-AI VRAM, Docker, systemd, host health. Built-in read-only MCP server so AI agents can explore it too.

πŸ›°οΈ HomeLab Monitor

GitHub starsversionlicensedockerdocs

One page for your whole home lab & AI rig β€” GPU, containers, services, disks. No agents, no Prometheus/Grafana, no cloud.

Your home lab grew into a couple of machines, a Pi, and a GPU that's mysteriously always busy. HomeLab Monitor gives you one self-hosted page that answers the real questions: which model is holding the GPU, which container is eating RAM, what's filling your disks, and is anything down β€” across every box over SSH: Linux, a Pi, even Windows. Readable from your phone over the VPN.

Get started

# Grab the compose file and go. No GPU required β€” the GPU panels just light up when one's present.
curl -fsSLO https://raw.githubusercontent.com/SikamikanikoBG/homelab-monitor/main/docker-compose.yml
docker compose up -d

Open http://<your-host>:9800 and you're done. Full options (from source, GPU toolkit, Windows/WSL2) β†’ Install docs.

πŸ†• v0.14.0 β€” a built-in read-only MCP server: connect Claude (or any MCP client) to your homelab and explore it with full dashboard parity, no extra container. Release notes Β· changelog Β· MCP docs.

What you get

Overview / All hosts

  • GPU, demystified β€” live VRAM/util/power/temp, and which container is holding the card (auto-mapped).
  • Containers, honestly β€” health plus RAM and VRAM in separate columns (real resident RAM, not page cache).
  • systemd services β€” local or remote, your own units highlighted, failures first.
  • WizTree-style disk treemaps β€” scan a filesystem, drill into folders, find the space hogs.
  • Multi-machine over SSH β€” paste one key per box; Linux, a Pi, even Windows. No agents, no installs.
  • Push alerts β€” Discord and ntfy.sh, edge-triggered so they don't spam.

Full tab-by-tab tour β†’ Features.

Multi-machine, in two sentences

Open the Hosts tab, paste the hub's auto-generated SSH key onto each remote, and the hub starts polling it β€” no agents, just SSH + Python 3 (PowerShell on Windows). The hub pipes a small self-contained probe over SSH; nothing persists on the remote.

Onboarding, Windows setup, and the security model β†’ Multi-machine docs.

Configuration

Set these under environment: in docker-compose.yml (all optional):

Variable Default Meaning
SAMPLE_INTERVAL 10 Seconds between samples
RETENTION_DAYS 180 How long history is kept
PRESSURE_FREE_MB 2048 Free VRAM below this counts as "pressure"
PORT 9800 Dashboard port
MCP_PORT 9810 Port for the built-in read-only MCP server
ENABLE_MCP 1 Set 0 to run the dashboard without the MCP server
WATCH_CONTAINERS β€” Extra containers to scan for OOM (comma-separated)
WATCH_SERVICES β€” systemd units to always show, even vendor ones (comma-separated)
CHECK_UPDATES true Set false to disable the daily GitHub-releases check (no outbound calls)

History lives in ./data/gpu.db (a bind mount), so it survives restarts and upgrades. Alerts, the systemd D-Bus mount, and per-server tuning β†’ Configuration docs.

Under the hood

The hub stitches nvidia-smi, the Docker API, model-server APIs (Ollama, vLLM, llama.cpp, A1111, …), systemd D-Bus, and /proc + /sys into one sampled view, persisted to SQLite and downsampled on read so a six-month range loads as fast as the last hour. Single page, vendored Chart.js, no build step.

Connect an AI agent (MCP)

Your homelab is now legible to AI agents β€” point a client at one URL and it can see every host, container, GPU and disk. Read-only, no extra setup.

HomeLab Monitor isn't just a dashboard for you anymore; it's context for your AI agent too. A read-only MCP server is built into the same container (served on :9810) β€” so Claude, Claude Code, or any MCP client connects in one line and explores your whole lab through 12 named tools, with the same coverage you see on the dashboard: hosts, containers, systemd services, GPU and who's driving it, per-process RAM, AI model servers, disk treemaps, history and alerts.

Connect any MCP client β€” Claude, ChatGPT, or an agent on your own local Ollama models β€” and it reads your homelab's live state. Read-only: both directions are just question and answer.

# the dashboard is on :9800; the MCP server rides along on :9810
claude mcp add --transport http homelab http://YOUR-HUB:9810/mcp

Once connected, skip the tab-hunting and just ask β€” the agent picks the right tools:

  • "My GPU's been pinned for an hour β€” which model server is loaded, and who's actually calling it?"
  • "What's eating /backup? Give me the biggest folders and flag anything that looks like runaway logs."
  • "Which host is lowest on RAM right now, and what's the top process holding it?"
  • "I want to reboot and run an OS upgrade this weekend β€” which box needs it most, and what's a safe order given what's running on each?"

Read-only by design β€” there are no write tools, so an agent can look but never touch your fleet. Turn it off anytime with ENABLE_MCP=0. Full tool list & setup β†’ MCP docs.

Security

This is a host monitor: it runs with host access and a read-only Docker socket, root mount, and D-Bus socket β€” a broad footprint by design. Keep it behind your LAN/VPN/firewall and don't expose it to the public internet. Details β†’ docs.

⭐ Support the project

If HomeLab Monitor saves you a browser tab or two, a ⭐ on GitHub genuinely helps other home-labbers find it. Thank you!

Contributing

Issues and PRs are very welcome β€” especially new model-server probes, new monitors, and GPU back-ends. This is a hobby tool meant to help fellow home-labbers, so be kind. See CONTRIBUTING.md.

License

MIT β€” see LICENSE.

MCP Server Β· Populars

MCP Server Β· New

    SikamikanikoBG

    πŸ›°οΈ HomeLab Monitor

    Plug-and-play homelab dashboard in one container β€” GPU, local-AI VRAM, Docker, systemd, host health. Built-in read-only MCP server so AI agents can explore it too.

    Community SikamikanikoBG
    w1ckedxt

    Cynical Sally

    Brutally honest senior-engineer code reviews for Claude Code, Cursor & Windsurf - and your terminal. Scores, evidence-backed issues, usable fixes.

    Community w1ckedxt
    Minidoracat

    MCP Feedback Enhanced

    Enhanced MCP server for interactive user feedback and command execution in AI-assisted development, featuring dual interface support (Web UI and Desktop Application) with intelligent environment detection and cross-platform compatibility.

    Community Minidoracat
    caidish

    InstrMCP: Instrumentation Control MCP Server

    AI's quantum device physics laboratory's instrumentation control

    Community caidish
    ahmedeltaher

    Azan-MCP

    Azan + Prayer Time + MCP + AI Agents + Islamic + Salah + A lightweight MCP library to calculate prayer times and trigger Azan with a single tool call. If you’re building an AI agent or prayer application, there’s no need to deal with astronomical calculations, timezones, or edge cases again.

    Community ahmedeltaher