
Sommaire
Introduction
Dans ce petit tutoriel, nous allons voir comment installer un service de DNS dynamique.
Dans le cadre d’un homelab, l’accès distant est souvent compliqué par les adresses IP dynamiques attribuées par les fournisseurs d’accès à Internet (FAI), qui changent régulièrement.
DuckDNS.org est un service de DNS dynamique gratuit qui résout ce problème en associant un domaine fixe (ex. yourdomain.duckdns.org) à votre adresse IP publique, même si celle-ci change fréquemment. Cela garantit un accès continu à vos services hébergés (Nextcloud, serveur web, etc.) via une URL stable.
Simple à configurer et automatisé, DuckDNS simplifie l’accès distant dans un environnement résidentiel. Nous allons installer ce service avec Docker pour une gestion encore plus efficace et automatisée.
Configuration
La première étape consiste à créer un compte sur le site de DuckDNS, accessible à l’adresse suivante : https://www.duckdns.org/
Un token unique sera ensuite généré et associé à votre compte. Ce token servira à connecter votre application locale aux serveurs DuckDNS, assurant ainsi la mise à jour automatique de votre domaine avec votre adresse IP.

Nous allons ensuite créer un nom de domaine personnalisé avec le suffixe duckdns.org.
Par exemple, si vous souhaitez créer le domaine qwazerty.duckdns.org, il vous suffit de choisir et ajouter le préfixe, comme qwazerty.duckdns.org pour personnaliser votre nom de domaine.
Un message de confirmation apparaîtra pour indiquer que l’opération a réussi

Votre adresse IP publique sera automatiquement détectée et associée à votre domaine.

Installation de DuckDns sur docker
Pour automatiser la mise à jour de votre domaine sans intervention manuelle, nous allons installer DuckDNS avec Docker sur une machine virtuelle. Assurez-vous que Docker est déjà installé en tant que prérequis avant de poursuivre.
Nous allons commencer par créer un dossier de travail pour le service DuckDNS :
sudo mkdir duckdns && cd duckdns
Ensuite, nous allons créer et éditer le fichier Docker Compose qui contiendra la configuration du service :
sudo nano docker-compose.yml
Insérer le contenu suivant :
services:
duckdns:
image: lscr.io/linuxserver/duckdns:latest
container_name: duckdns
network_mode: duckdns #optional
environment:
- PUID=1000 #optional
- PGID=1000 #optional
- TZ=Europe/Paris #optional
- SUBDOMAINS=#your_subdomains
- TOKEN=#your_token
- UPDATE_IP=ipv4 #optional
- LOG_FILE=true #optional
volumes:
- ./config:/config #optional
restart: unless-stopped
Ensuite, exécutez le conteneur en arrière-plan avec la commande suivante :
sudo docker compose up -d
Pour consulter les logs du service DuckDNS, vous pouvez vérifier le fichier à l’emplacement suivant :
duckdns/config/duck.log
Conclusion
En suivant ce tutoriel, nous avons vu comment installer et configurer le service DuckDNS dans un environnement Docker pour gérer un domaine dynamique dans un homelab. Votre adresse IP publique sera automatiquement mise à jour, garantissant un accès continu et fiable à vos services hébergés même si l’adresse change fréquemment.
Si vous disposez d’un nom de domaine personnalisé, vous pourrez enregistrer votre nom de domaine DuckDNS avec un CNAME sur votre nom de domaine personnalisé auprès de votre fournisseur DNS pour que le faire pointer correctement vers votre réseau domicile.