Aller au contenu

Pi-Hole sous Docker

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
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
ae2fff544420ff64dce60667b7e5c4263f60cda6

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 → 

Ajouter des domaines en whitelist