Tu en as marre des pubs qui s’affichent partout, sur ton téléphone, ta télé connectée ou ton ordinateur ? Pi-hole est la solution la plus simple pour les bloquer une bonne fois pour toutes, au niveau de ton réseau entier. Une seule installation, et tous les appareils de la maison sont protégés, sans rien installer dessus. Voici comment le mettre en place avec Docker en une vingtaine de minutes.
Pi-hole est un logiciel libre qui agit comme un filtre DNS : il intercepte les demandes de résolution de noms de domaine de ton réseau et renvoie une réponse vide pour les domaines connus de publicité ou de traqueurs. Concrètement, quand un site ou une appli essaie de charger une pub, la requête est bloquée avant même que la publicité ne soit téléchargée. Le résultat : moins de pubs, moins de traqueurs, et un réseau plus rapide.
De quoi tu as besoin
- Un ordinateur qui tourne en permanence (un vieux PC, un Raspberry Pi, un mini-serveur) avec Linux et Docker installés.
- Docker Compose (inclus avec Docker Desktop ou installable séparément).
- L’adresse IP de ta machine sur ton réseau local (commande ip a sous Linux).
- Un accès à l’interface de configuration de ton routeur (pour pointer le DNS dessus).
Étape 1 : libérer le port 53
Le port 53 est celui utilisé par le DNS. Sur beaucoup de distributions Linux, un service appelé systemd-resolved l’occupe déjà. Vérifie d’abord s’il est pris :
sudo ss -tulpn | grep ':53'Si tu vois systemd-resolve dans la sortie, il faut le libérer pour que Pi-hole puisse écouter sur ce port :
sudo systemctl stop systemd-resolved
sudo systemctl disable systemd-resolved
sudo rm /etc/resolv.conf
echo "nameserver 1.1.1.1" | sudo tee /etc/resolv.confLa dernière ligne donne à ta machine un résolveur de secours (Cloudflare) le temps que Pi-hole soit en place. Sans cette étape, le conteneur démarre mais le DNS ne fonctionne pas.
Étape 2 : créer le fichier Docker Compose
Crée un dossier pour Pi-hole et un fichier de configuration :
mkdir -p ~/pihole && cd ~/pihole
nano docker-compose.ymlColle ce contenu, en adaptant le mot de passe et le fuseau horaire :
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
ports:
- "53:53/tcp"
- "53:53/udp"
- "80:80/tcp"
- "443:443/tcp"
environment:
TZ: "Europe/Paris"
FTLCONF_webserver_api_password: "ton-mot-de-passe"
FTLCONF_dns_listeningMode: "ALL"
volumes:
- ./etc-pihole:/etc/pihole
cap_add:
- NET_ADMIN
restart: unless-stoppedDeux variables sont essentielles. FTLCONF_dns_listeningMode doit être à ALL pour que Pi-hole réponde aux requêtes venant de tout ton réseau, pas seulement de sa propre interface. Le volume ./etc-pihole conserve ta configuration et tes listes de blocage entre deux mises à jour du conteneur : sans lui, tout serait perdu à chaque mise à jour.
Étape 3 : démarrer Pi-hole
docker compose up -d
docker compose logs -f piholeAttends que les logs affichent une ligne du type Pi-hole FTL is listening. Le premier démarrage est plus long : Pi-hole télécharge et construit sa base de données de blocage (appelée gravity). Tu peux suivre la progression dans l’interface web.
Étape 4 : accéder à l’interface et pointer ton réseau dessus
Ouvre ton navigateur sur http://IP_DE_TA_MACHINE/admin et connecte-toi avec le mot de passe que tu as défini. Tu arrives sur le tableau de bord qui affiche les statistiques de requêtes DNS de ton réseau.

Capture d’écran : le tableau de bord officiel de Pi-hole, tiré du site pi-hole.net.
Pour que tous tes appareils passent par Pi-hole, le plus simple est de modifier le serveur DNS de ton routeur. Dans l’interface de ton routeur, cherche le réglage DNS du DHCP et mets l’adresse IP de ta machine. Chaque appareil qui se reconnecte au réseau utilisera alors Pi-hole automatiquement, sans configuration individuelle.
Vérifier que ça fonctionne
Depuis ta machine, teste la résolution d’un domaine publicitaire connu :
dig @127.0.0.1 ads.google.comUn domaine bloqué doit renvoyer 0.0.0.0 ou NXDOMAIN. Un domaine normal, comme numeribrain.com, doit renvoyer sa vraie adresse IP. Tu peux aussi ouvrir le tableau de bord : le compteur de requétes bloquées doit augmenter au fil de ton navigation.
Limites et pièges
- Le port 53 est souvent déjà occupé : si le conteneur ne démarre pas, vérifie la sortie de ss -tulpn et libère le port.
- Pi-hole ne bloque pas tout : certaines pubs passent par le même domaine que le contenu (YouTube, par exemple). C’est une limite du filtrage DNS.
- Si tu utilises Pi-hole comme serveur DHCP, il faut ajouter la capacité NET_ADMIN et un réseau particulier (macvlan ou host). Pour un simple filtrage DNS, le mode bridge suffit.
- Les variables FTLCONF_* deviennent en lecture seule une fois définies : pour les changer, modifie le fichier compose et relance le conteneur.
- Pense à mettre à jour régulièrement : docker compose pull puis docker compose up -d. Tes listes de blocage se rafraîchissent toutes seules chaque semaine.
Et maintenant ?
Pi-hole est l’un des meilleurs investissements pour la vie privée à la maison : une installation, et tout ton réseau est débarrassé de la majorité des pubs et des traqueurs. Tu peux ensuite l’enrichir avec des listes de blocage supplémentaires ou le coupler à un VPN pour être protégé aussi sur ton téléphone en déplacement. Ton réseau, tes règles.
Si tu veux aller plus loin dans la vie privée, tu peux aussi héberger ton propre moteur de recherche, comme on le voyait dans notre tuto dédié.
Sources
Le site officiel de Pi-hole, qui présente le projet et ses fonctionnalités.
—
Recherche, relecture et illustration assistées par IA. Le contenu reflète le travail éditorial de la rédaction.




No comments yet