15/06/2026

dnsweaver – DNS automatique pour Docker, Proxmox et K8s

Par admin

dnsweaver - DNS automatique pour Docker, Proxmox et K8s

Si vous hébergez vos propres services derrière une IP dynamique, vous connaissez sans doute des outils merveilleux comme DynDNS, NoIP, ou encore Cloudflare DDNS.

Sauf que dès que votre homelab mélange du Docker, du Proxmox et un cluster Kubernetes, ça devient vite le bordel à maintenir ! Mais Maxfield Allison, un contributeur du projet OPNsense, qui visiblement en avait marre lui aussi de gérer tout ça à la mimine, nous a pondu
dnsweaver
.

dnsweaver, ça fait pas repousser les cheveux sur les sysadmins (désolé ^^) mais c’est un outil en Go qui peut se lancer comme un service et qui se configure avec la clé API de votre Cloudflare (ou d’un autre provider) pour mettre à jour sa zone DNS. Comme ça, quand l’un de vos conteneurs démarre avec un label Traefik, hop, l’enregistrement DNS apparaît automatiquement. Et quand vous le virez, il disparaît.

C’est génial parce que ça vous permet de ne plus jamais toucher à votre zone DNS à la main.

Et une fonctionnalité incroyable de dnsweaver, c’est le split-horizon DNS qui permet de donner accès à votre réseau local et à ses services depuis n’importe où sur Internet, mais avec la bonne tête selon d’où vous vous connectez. Vous aurez grâce à ça, votre bitwarden.maison.fr qui pointe vers le 192.168.1.10 quand vous êtes chez vous sur le réseau local, et vers votre IP publique quand vous tapez la même adresse depuis l’extérieur. Comme ça, plus la peine de maintenir 2 configs séparées qui finiront toujours par diverger à un moment…

Et dnsweaver ne se contente pas d’un seul fournisseur et ça c’est cool. Comme ça, si vous voulez allier la puissance des services de Cloudflare (pour le cache, la sécurité, la protection DDoS…etc.) à, par exemple, un
Technitium
perso pour votre réseau interne, bah c’est possible ! dnsweaver pousse comme ça vers 7 backends en parallèle: Technitium, Cloudflare, Pi-hole, AdGuard Home, dnsmasq, le bon vieux RFC 2136 (pour BIND, PowerDNS ou le DNS de Windows Server) et même un webhook pour brancher un truc maison.

Côté détection, vous aurez capté, ça va lire les labels Traefik, Caddy ou nginx-proxy sur vos conteneurs Docker, les annotations Ingress sur Kubernetes, et côté
Proxmox
il récupère vos VMs (via l’agent QEMU) comme vos conteneurs LXC. Très cool donc pour les furieux qui gèrent plein d’instances sur différents serveurs !!

Pour l’installer, maintenant vous avez le choix: Soit vous passez par l’image Docker maxamill/dnsweaver, le registre ghcr.io ou un chart Helm si vous êtes plutôt team Kubernetes. Vous lui passez les credentials de vos providers (via des secrets Docker ou Kubernetes, et pas en clair dans un fichier qui traîne comme un gros nooooobbzzzz) et vous le laissez tourner. Il expose même des métriques Prometheus, du coup vous le surveillez comme le reste de votre stack.

Alors oui, je saiiiis, ExternalDNS fait déjà ce genre de boulot, sauf que c’est du Kubernetes only. Alors que dnsweaver, lui, avale les trois plateformes d’un coup, ce qui colle pile poil à l’ADN même du homelab bordélique que vous avez chez vous ^^.

Le projet est encore assez récent et porté par une seule personne mais ça évolue à une vitesse impressionnante (déjà des dizaines de versions livrées en quelques mois), alors je vous recommande de tester ça quand vous aurez 5 min (pas en prod tout de suite par contre, promettez le moi, bande de fifous !!)

Voilà, si gérer votre DNS maison vous bouffe un temps de dingue, dnsweaver est à envisager (pas comme votre cousin.e, donc… )

Source : korben.info