9 Docker services, 7 dashboards, 68 panels, 23 alert rules. One docker compose up and your homelab has metrics, logs, and alerts. $0/month to run.
Grafana 11.5.2, Prometheus v3.2.1, Loki 3.4.2, Promtail, Alertmanager, Node Exporter, cAdvisor, PVE Exporter, Uptime Kuma. All pinned versions, health checks, memory limits.
System Overview, Docker Containers, Proxmox Cluster, Disk Health, Network, Alerts Dashboard, Logs Explorer. 68 panels total, auto-provisioned on first boot.
12 host alerts (CPU, memory, disk, swap, predictive disk fill), 6 container alerts (OOM kill, restarts), 5 Proxmox alerts (guest stopped, node down, storage). Homelab-tuned thresholds.
Every port, password, retention period, and credential configured through one file. Documented .env.example included.
README (13 KB), Troubleshooting (10 KB), Customization (9 KB), Proxmox Setup (5 KB). 37 KB total documentation.
deploy-node-exporter.sh for remote host monitoring (multi-arch), backup.sh for config + Grafana DB archival with rotation.
Use it however you want. Modify, redistribute, use commercially. No restrictions.
Fully self-hosted. No API calls, no cloud services, no subscriptions. The only outbound traffic is pulling Docker images.
Every Grafana panel queries metrics from the exporters included in the compose. No "No Data" panels.
predict_linear() over a 6-hour window projects when your disk will hit 100%. Catches slow fills that static thresholds miss.
Promtail handles Docker container logs, file-based syslog, and journald automatically. Works on any systemd Linux distro.
PVE Exporter with 10-panel dashboard and 5 alert rules. Remove it if you do not run Proxmox — everything else is independent.
Memory limits on every container. Runs alongside your existing services without surprise resource consumption.
This is the exact monitoring stack I run on my homelab. Nine Docker services in one compose file. Seven Grafana dashboards with 68 visualization panels that are matched to the actual exporters in the stack (every panel has data from the moment you start it). Twenty-three alert rules tuned for homelab use cases, not Kubernetes production clusters. And every configurable value lives in a single .env file — you don't touch YAML.
Start it with docker compose up -d. Grafana opens with all dashboards loaded, all datasources connected, and the System Overview as your home page. The whole setup takes about 15 minutes from download to working dashboards.
Ongoing cost: $0. Everything is self-hosted. No API calls, no cloud services, no subscriptions, no data leaving your network.
Docker 24+ with Docker Compose v2+, Linux server (any systemd-based distro), 2 GB free RAM minimum (4 GB total recommended), Proxmox VE optional for PVE Exporter
Learn how this was built, the decisions made, and gotchas to watch for.
Patterns, lessons, and tools from production automation systems. Delivered weekly.