{{tag>software sysadmin pi-hole install docker}}
====== Pi-Hole: installation via Docker ======
Notes d'installation via docker de l'application pi-hole.
===== Spécificité du SE Ubuntu =====
Les versions récentes d'Ubuntu (versions 17.10 et supérieures) intègrent **systemd-resolved** configuré par défaut pour agir comme cache DNS. Il écoute sur le port 53 et empêche Pi-Hole de fonctionner.
Pour désactiver le cache DNS local, modifier le fichier de configuration ''/etc/systemd/resolved.conf'':
sudo sed -r -i.bak 's/#?DNSStubListener=yes/DNSStubListener=no/g' /etc/systemd/resolved.conf
Cette modification n'affecte pas les paramétrages des serveurs de noms qui pointent encore vers le cache DNS local systemd-resolver. Modifier le lien symbolique ''/etc/resolv.conf'' en le faisant pointer vers ''/run/systemd/resolve/resolv.conf'' qui est automatiquement mis à jour pour suivre le netplan
# La configuration de la résolution de noms s'appuie sur le cache DNS
ls -la /etc/resolv.conf
lrwxrwxrwx 1 root root 39 oct. 22 2020 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
# mise à jour de la configuration pour que la résolution de noms soit
# définie via l'interface réseau
rm /etc/resolv.conf && ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
Relancer systemd-resolved
systemctl restart systemd-resolved.service
Une fois le service redémarré, la nouvelle configuration est prise en compte, le cache DNS local n'est plus actif, le port 53 est libre.
===== Installation =====
Modifier le fichier /etc/hosts et tester la résolution:
resolvectl query pihole.labinfo.mairie.local
Le fichier docker-compose initial a été modifié pour que le conteneur fonctionne derrière traefik.
# vérifie la syntaxe
docker-compose config
# lance le service
docker-compose up --detach pihole
===== Références =====
* https://github.com/pi-hole/docker-pi-hole/#running-pi-hole-docker
* https://gitmemory.com/issue/traefik/traefik/7430/764800846
* https://github.com/pi-hole/docker-pi-hole/blob/master/docker_run.sh