git404hub

what is internet-pi fr?

geerlingguy/internet-pi — explained in plain English

Analysis updated 2026-06-26

4,687JinjaAudience · ops devopsComplexity · 3/5Setup · moderate

tl;dr

Automated Ansible scripts that turn a Raspberry Pi into a home ad-blocker and internet speed monitor, with a Grafana dashboard, configured with a single command.

vibe map

mindmap
  root((internet-pi))
    What it does
      Ad blocking DNS
      Speed monitoring
      Visual dashboard
    Tech used
      Ansible automation
      Docker containers
      Pi-hole Grafana
    Hardware
      Raspberry Pi 4
      Home network
    Optional extras
      Smart plug power
      Air quality sensors
      Starlink stats

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

what do people make with this?

VIBE 1

Block ads across your entire home network at the DNS level, affecting all devices including phones and smart TVs.

VIBE 2

Track your home internet speed, ping times, and uptime over time with visual charts in a Grafana dashboard.

VIBE 3

Monitor power usage from Shelly smart plugs or air quality from AirGradient sensors on the same dashboard.

VIBE 4

Set up Starlink satellite internet connection statistics and monitoring on a Raspberry Pi.

what's the stack?

AnsibleJinjaDockerPi-holeGrafanaRaspberry Pi OS

how it stacks up fr

geerlingguy/internet-pidavestephens/ansible-nasjlevy/simple-modern-uv
Stars4,6873,735281
LanguageJinjaJinjaJinja
Setup difficultymoderatehardeasy
Complexity3/54/52/5
Audienceops devopsops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

how do i run it?

Difficulty · moderate time til it works · 1h+

Requires a Raspberry Pi 4 or newer (older models have slow network interfaces) plus Ansible installed on the Pi before running the playbook.

in plain english

Internet Pi is a set of automated configuration scripts for turning a Raspberry Pi into a home network monitoring and ad-blocking device. Rather than manually installing and configuring software, you run a single command and the scripts handle the setup for you. The result is a Pi that blocks ads across your entire home network, monitors your internet connection speed and reliability over time, and displays everything in a visual dashboard. The two main features are Pi-hole and an internet monitoring stack. Pi-hole intercepts all DNS requests on your network, which is the lookup process your devices use to find websites by name. By running the lookup through the Pi, it can block requests to known ad servers before they ever reach your devices. The monitoring side runs regular speed tests and connection checks, then stores the results so you can see charts of your upload and download speeds, ping times, and uptime over days and weeks. Optional extras can be enabled through a configuration file. These include monitoring for Shelly smart plugs to track power usage, air quality monitoring through AirGradient sensors, and statistics for Starlink satellite internet connections. All of these feed into the same Grafana dashboard that handles the base internet monitoring. Setting up Internet Pi requires installing Ansible on the Pi first, which is a tool that applies configuration instructions from a file. Once Ansible is installed, you clone the repository, copy two example configuration files, edit them with your preferences, and run the main playbook command. The scripts then pull down the necessary Docker containers and configure everything. The README recommends a Raspberry Pi 4 or newer for reliable results, noting that older models have slower network interfaces that cap speed test results. The project is built around Raspberry Pi OS or Debian, and may work on Ubuntu or Arch Linux but those are not regularly tested. A note in the README warns that the internet monitoring feature uses a meaningful amount of data each day due to automated speed tests, which could be a concern on metered connections.

prompts (copy fr)

prompt 1
I have a Raspberry Pi 4 and want to set up internet-pi to block ads on my home network, walk me through the Ansible setup steps from scratch.
prompt 2
How do I enable the optional Shelly smart plug power monitoring in internet-pi's configuration file?
prompt 3
I set up internet-pi and want to add my own custom Grafana dashboard panels alongside the built-in ones, how do I do that?
prompt 4
What is the daily data usage impact of internet-pi's automated speed tests, and how do I reduce the test frequency on a metered connection?

Frequently asked questions

what is internet-pi fr?

Automated Ansible scripts that turn a Raspberry Pi into a home ad-blocker and internet speed monitor, with a Grafana dashboard, configured with a single command.

What language is internet-pi written in?

Mainly Jinja. The stack also includes Ansible, Jinja, Docker.

How hard is internet-pi to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is internet-pi for?

Mainly ops devops.

peek the repo → explain another one

This repo across BitVibe Labs

double-check against the repo, no cap.