Installer Pi-Hole dans un conteneur Docker permet de déployer rapidement un serveur anti-pub pour protéger son réseau des annonceurs.
Installation de Pi-Hole
1. Créer un dossier sur son ordinateur pour le conteneur
mkdir Pihole
cd Pihole
2. Créer un fichier docker-compose.yml et y coller la configuration suivante :
nano docker-compose.yml
version: "3"
services:
pihole:
container_name: pihole
image: pihole/pihole:latest
hostname: pi.hole
ports:
- "53:53/tcp"
- "53:53/udp"
- "67:67/udp"
- "80:80/tcp"
- "443:443/tcp"
environment:
TZ: 'France/Paris'
# Volumes store your data between container upgrades
volumes:
- './etc-pihole/:/etc/pihole/'
- './etc-dnsmasq.d/:/etc/dnsmasq.d/'
# Recommended but not required (DHCP needs NET_ADMIN)
# https://github.com/pi-hole/docker-pi-hole#note-on-capabilities
cap_add:
- NET_ADMIN
restart: unless-stopped
3. Lancer la commande docker-compose up -d
docker-compose up -d
C:\Users\louis\Desktop\Pihole
λ docker-compose up -d
[+] Running 1/1
- Container pihole Started 1.9s
C:\Users\louis\Desktop\Pihole
λ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
928e5fbfa6ad pihole/pihole:latest "/s6-init" 6 seconds ago Up 4 seconds (health: starting) 0.0.0.0:553->53/tcp, 0.0.0.0:553->53/udp, 0.0.0.0:667->67/udp, 0.0.0.0:8080->80/tcp, 0.0.0.0:4443->443/tcp pihole
Attention ⚠️ Si vous essayez de déployer le conteneur sur une machine qui à le port 53 d’utilisé, il faut désactiver le service de résolution de nom avec la commande suivante :
systemctl stop systemd-resolved
4. Réinitialisez le mot de passe Administrateur
docker exec -it pihole pihole -a -p
À la fin du processus, ouvrir votre navigateur internet et vous rendre sur http://localhost/admin/
Voici le dashboard de Pihole
Utilisation de Pihole
Pour que le serveur puisse écouter sur ses interfaces, il faut se rendre dans :
Settings/DNS/Interface settings et cocher “Permit all origins”, dans le cas contraire seules les requêtes de l’intérieur du réseau seront fonctionnelles.
Sur le routeur ou sur le host il faut changer son DNS préféré par l’adresse IP du serveur PiHole.
Ajouter des blocklist
Pour ajouter des blocklist à notre serveur il faut aller dans l’onglet Blocklist et entrer des URLs contenant des listes de domaines à bloquer, un des plus grands recueil se trouve ici →