Raspberry infrastructure related and networking projects
A hands-on homelab built on a Raspberry Pi 4, combining real-world networking, monitoring, and Infrastructure as Code (IaC) projects to sharpen system design and DevOps skills.
- Project 1: DNS Server (Pi-hole + Unbound)
- Project 2: Network Monitoring (Grafana + Prometheus)
- Project 3: Infrastructure as Code (Terraform + Docker)
- Hardware Used
- Future Enhancements
A self-hosted DNS server that blocks ads and trackers while resolving domains via a local recursive resolver (Unbound).
- Install Pi-hole on Raspberry Pi
- Configure your device’s DNS to point to Pi-hole (e.g.,
192.168.1.100) - Install Unbound for recursive DNS
- Configure Pi-hole to forward DNS to Unbound (
127.0.0.1#5335) - Verify using
digandnslookup
dig fb.com @127.0.0.1 -p 5335 | grep SERVER
;; SERVER: 127.0.0.1#5335(127.0.0.1)
A dashboard for monitoring home network traffic, latency, system health, and uptime across devices.
- Grafana
- Prometheus
- Node Exporter / Pi.Alert for system and network metrics
- Install Prometheus and Grafana (via Docker or native)
- Add Prometheus data source to Grafana
- Use Node Exporter or Pi.Alert to expose metrics
- Create dashboards to monitor:
- Raspberry Pi CPU/RAM
- Connected devices
- Ping latency
- Speedtest (optional)
Add sample dashboards or Pi.Alert UI screenshots.
Automate infrastructure on the Raspberry Pi using Terraform to define and deploy containers like Grafana, Prometheus, and Pi-hole.
- Use Terraform to define infrastructure in
.tffiles - Provision Docker containers for monitoring and DNS
- Simulate real-world IaC workflows