Homelab Monitoring Stack — Complete Docker Compose + Grafana Dashboards
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.
What's Included
9-Service Docker Compose
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.
7 Grafana Dashboards
System Overview, Docker Containers, Proxmox Cluster, Disk Health, Network, Alerts Dashboard, Logs Explorer. 68 panels total, auto-provisioned on first boot.
23 Alert Rules
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.
.env-Driven Configuration
Every port, password, retention period, and credential configured through one file. Documented .env.example included.
4 Documentation Guides
README (13 KB), Troubleshooting (10 KB), Customization (9 KB), Proxmox Setup (5 KB). 37 KB total documentation.
2 Utility Scripts
deploy-node-exporter.sh for remote host monitoring (multi-arch), backup.sh for config + Grafana DB archival with rotation.
MIT License
Use it however you want. Modify, redistribute, use commercially. No restrictions.
Features
Zero Ongoing Cost
Fully self-hosted. No API calls, no cloud services, no subscriptions. The only outbound traffic is pulling Docker images.
Dashboards That Match the Stack
Every Grafana panel queries metrics from the exporters included in the compose. No "No Data" panels.
Predictive Disk Alerts
predict_linear() over a 6-hour window projects when your disk will hit 100%. Catches slow fills that static thresholds miss.
Dual-Source Log Shipping
Promtail handles Docker container logs, file-based syslog, and journald automatically. Works on any systemd Linux distro.
Optional Proxmox Monitoring
PVE Exporter with 10-panel dashboard and 5 alert rules. Remove it if you do not run Proxmox — everything else is independent.
~1.2 GB Total RAM
Memory limits on every container. Runs alongside your existing services without surprise resource consumption.
Description
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.
Requirements
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.
Related Products
Get weekly AI architecture insights
Patterns, lessons, and tools from building a production multi-agent system. Delivered weekly.