Internet Pi is an Ansible configuration project that automates the setup of a Raspberry Pi for Internet connectivity and monitoring tasks.
The project addresses the need to formalize and centralize Internet-related duties on a Raspberry Pi through infrastructure-as-code. It uses Ansible to deploy and configure multiple services on a single device. The core capabilities include Internet monitoring via Prometheus and Grafana with Speedtest.net integration to track connection uptime, ping statistics, and speed test results over time, and Pi-hole for network-wide ad-blocking and local DNS resolution. Additional optional features allow monitoring of Shelly Plug power usage, AirGradient air quality sensors, and Starlink statistics, each with corresponding Grafana dashboards.
The tool suits anyone running a Raspberry Pi for home network duties who wants to consolidate DNS, ad-blocking, and Internet performance monitoring into a single managed configuration. A Raspberry Pi 4 model B or later is recommended for reliable performance, particularly for speedtest capability on faster connections; older models have CPU and network interface limitations. The project is tested on Raspberry Pi OS in both 32-bit and 64-bit variants and generic Debian installations. Users should be aware that the Internet monitoring feature downloads significant data daily through speedtests, making it unsuitable for metered connections without tuning the test frequency.
The project maintains active development with regular updates to its Ansible playbooks and configuration templates. The maintainer actively develops related monitoring exporters that integrate with the project, including custom Prometheus exporters for Shelly Plug and AirGradient devices. Documentation includes example configurations and visual dashboards demonstrating the monitoring capabilities. The codebase is structured around a central configuration file that allows users to enable or disable features and customize monitoring parameters.