Docker

Déployer PiHole avec Docker

Si vous avez un PiHole chez vous, il est très probablement installé sur un Raspberry PI, une VM ou petite machine dédiée de récup. Mais saviez-vous qu’installer PiHole avec Docker c’est possible ?

PiHole est une solution DNS qu’on ne présente plus, très utilisé dans le cadre domestique pour beaucoup de raisons :

  • Simplicité d’installation avec un script préfait
  • Blocage des requêtes DNS identifier comme publicité
  • Mise à jour en une commande (pihole -up)
  • Interface web simple
  • Faible consommation de ressources CPU/RAM

J’ajouterai encore un avantage à cette solution, que je détaille dans cette article

Prérequis

Installer PiHole via Docker

Bien, une fois les prérequis compléter, connectez vous sur votre interface web Portainer.

On va créer une nouvelle stack nommez « pihole » et on y met la stack suivante

version: "3"
 
services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    ports:
      - "53:53/tcp" # dns
      - "53:53/udp" # dns
      - "800:80/tcp" # interface web
    environment:
      TZ: 'Europe/Paris'
      WEBPASSWORD: 'password' # mot de passe de l'interface web
    volumes:
      - '/srv/docker/pihole/etc-pihole:/etc/pihole/'
      - '/srv/docker/pihole/etc-dnsmasq.d:/etc/dnsmasq.d/'
 
    restart: unless-stopped

Pour des raisons de sécurité, vous pouvez changer le mot de passe de l’interface web avec la variable d’environnement « WEBPASSWORD »

Vous pouvez modifier cette stack selon vos besoins. Une fois la stack copier, vous pouvez la déployer.

Connecter à l’interface web à l’adresse suivante : http://ip-server:800/admin

interface web pihole

Vous pouvez vous connecter avec le mot de passe précédemment défini dans la stack docker-compose.

Pour utiliser le DNS et ainsi bloquer les pub sur votre réseau domestique, vous pouvez modifier le DNS sur vos différents clients.

Le plus simple consiste à modifier le serveur DNS attribué par votre serveur DHCP. Le serveur DHCP de votre box ne permettant pas cette modification, le plus simple est de le désactiver et de créer votre propre serveur DHCP (via une VM, un routeur ou autre).

Pihole propose un serveur DHCP avec des options limitées mais qui a l’avantage de fournir son serveur DNS. La stack de cet article ne permet pas l’activer du serveur DHCP.

La configuration étant un peu complexe, et pas spécialement complète pour les options du serveur DHCP, je ne recommande pas cette option.

Jérémy Taunay

🪪 Be smarter everyday | 🏮 Less is more | 🐧Tech systèmes et réseaux | 🖥️ Homelaber