Guide complet d'installation de Pi-hole avec Docker

Dernière mise à jour: 30 Août 2026

Vous en avez assez d'être constamment bombardé de publicités lorsque vous naviguez sur Internet ou utilisez une application mobile ? Pi-hole est une solution idéale : ce filtre DNS intelligent bloque les contenus indésirables. L'avantage principal ? Aucune installation n'est requise sur vos appareils. Le système fonctionne au cœur de votre réseau et intercepte et bloque les contenus indésirables avant même qu'ils n'apparaissent sur votre écran.

Pour configurer ce système, la solution la plus judicieuse actuellement est d'utiliser Docker. En plaçant Pi-hole dans un conteneur, vous évitez d'encombrer le système d'exploitation de votre ordinateur, vous simplifiez considérablement les mises à jour et vous tirez le meilleur parti de votre matériel — qu'il s'agisse d'un Raspberry Pi, d'un serveur plus ancien ou même d'une machine virtuelle sous Ubuntu ou Debian — sans aucun conflit de services.

Bloquez les publicités avec Pi-hole
Article connexe:
Guide complet pour bloquer les publicités avec Pi-hole

Prérequis et préparation du site

Avant de commencer, il est important de noter que Pi-hole est extrêmement léger. Pour un fonctionnement optimal, il ne nécessite que 512 Mo de RAM et entre 2 et 4 Go d' espace disque. Côté système d'exploitation, il est parfaitement compatible avec les distributions utilisant systemd ou sysvinit, telles que Debian, Ubuntu, Fedora ou Raspberry Pi OS.

Un point crucial est le réseau. Pour que le système soit stable, Pi-hole requiert une adresse IP statique . Si vous ne souhaitez pas configurer le serveur manuellement, vous pouvez réserver une adresse IP sur votre routeur afin qu'il attribue toujours la même adresse à l'ordinateur hébergeant le conteneur.

  Qu'est-ce que Webminal : le terminal Linux en ligne pour l'apprentissage

Déploiement de Pi-hole avec Docker

La méthode la plus simple consiste à utiliser un fichier docker-compose.yml . Elle permet de définir toute la configuration en une seule fois. Il est essentiel d'associer les volumes (tels que /etc/pihole et /etc-dnsmasq.d) à des dossiers locaux sur votre hôte afin de ne pas perdre vos configurations ni vos listes noires lors de la mise à jour de l'image du conteneur.

Micro-ordinateur Raspberry Pi dans un boîtier transparent, représentant le matériel d'un serveur Pi-hole
Article connexe:
Guide complet de Pi-hole et Unbound pour la protection de votre vie privée en ligne

Dans le fichier de configuration, vérifiez attentivement les ports. Le port 53 est essentiel au DNS et doit être libre. Si le conteneur ne démarre pas, il est probable que systemd-resolved ou dnsmasq utilise ce port sur l'hôte. Dans ce cas, vous devrez désactiver le service en conflit ou configurer un pont DNS pour rediriger le trafic.

Si vous décidez d'utiliser Pi-hole comme serveur DHCP également, n'oubliez pas d'ajouter la capacité NET_ADMIN dans la section cap_add de compose et, de préférence, d'utiliser le mode réseau hôte (network_mode: host) pour éviter les problèmes de connectivité.

Configuration initiale et gestion des accès

Une fois la commande exécutée docker-compose up -dLe système sera opérationnel. Pour accéder au panneau de contrôle, connectez-vous à l'adresse IP de votre serveur via le port que vous avez attribué (80 par défaut, mais vous pouvez le modifier en 8080 ou 89 pour éviter les conflits avec d'autres serveurs web). Si vous n'avez pas défini de mot de passe dans la variable d'environnement… MOT DE PASSE WEBLe système en générera un aléatoire que vous pourrez trouver en consultant les journaux avec la commande docker logs pihole | grep random.

Pour plus de sécurité, il est préférable de changer rapidement ce mot de passe. Vous pouvez accéder au terminal du conteneur en utilisant docker exec -it pihole /bin/bash et exécutez la commande pihole -a -p Choisir un mot de passe facile à retenir pour vous, mais difficile pour les autres.

  5 outils pour apprendre à programmer en Python

Filtrage en amont et optimisation DNS

Pour que Pi-hole sache quel serveur interroger lorsqu'il ne reconnaît pas une adresse, vous devez configurer un serveur DNS en amont. Quad9 est une option très fiable ; il suffit de sélectionner ses serveurs filtrés (par exemple, 9.9.9.9) dans l'onglet des paramètres DNS. Cela renforce la sécurité et la confidentialité de votre navigation.

Le cœur de Pi-hole réside dans ses listes de blocage. Pour démarrer avec une base solide, vous pouvez ajouter la liste de StevenBlack . Chaque fois que vous modifiez ces listes, que ce soit en supprimant des entrées avec SQLite3 ou en ajoutant de nouvelles URL, il est essentiel d'aller dans Outils et d'exécuter Update Gravity afin que la base de données se rafraîchisse et que les modifications soient prises en compte.

Conseils avancés : Domaines locaux et gestion

Si vous disposez de plusieurs services à domicile, vous pouvez créer noms de domaine locaux pour éviter d'avoir à mémoriser les adresses IP. Pour ce faire, créez un fichier appelé local.list Sur le volume Pi-hole monté, définissez le format de l'adresse IP et du domaine. Ensuite, créez un fichier de configuration pour dnsmasq qui référence cette liste et redémarrez le conteneur.

Pour gérer le système sans accéder au site web, vous pouvez exécuter des commandes très utiles depuis votre serveur. Par exemple, pour ajouter un domaine à la liste noire, utilisez `pihole -b mydomain.com` , ou pour désactiver temporairement le filtrage pendant 10 minutes, vous pouvez utiliser `pihole disable 10m` , ce qui est très pratique lorsqu'un site web légitime est bloqué par erreur.

Il est tout à fait possible de maîtriser la publicité à domicile en combinant un matériel modeste avec la flexibilité de Docker, en s'assurant que le port 53 est libre et en configurant correctement les volumes pour la persistance des données. Une fois les DNS de votre routeur ajustés et les listes Gravity optimisées, vous profiterez d'un réseau plus fluide et beaucoup plus rapide sur tous vos appareils.

Gros plan d'une carte Raspberry Pi avec ses composants électroniques, ses microprocesseurs et ses ports visibles en surface, idéal pour illustrer le matériel principal du tutoriel
Article connexe:
Guide complet d'installation et d'optimisation d'AdGuard Home sur Raspberry Pi