5.1 KiB
5.1 KiB
title: DDNS Updater created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, dns, ddns, docker, networking, auto-hebergement] confidence: high contested: false sources: [https://selfh.st/apps/?tag=DNS, https://github.com/qdm12/ddns-updater]
DDNS Updater
📝 Description
Container to update DNS records periodically with WebUI for many DNS providers
DDNS Updater est un container moderne et léger qui met à jour automatiquement les enregistrements DNS dynamiques pour plus de 50 fournisseurs DNS. Il dispose d'une interface web intuitive pour la configuration et le monitoring.
📊 Métadonnées
| Propriété | Valeur |
|---|---|
| Nom | DDNS Updater |
| Slug | ddns-updater |
| Catégorie | DNS |
| Repository | qdm12/ddns-updater |
| Stars | 3,089 ⭐ |
| Licence | MIT |
| Type | Application |
🏷️ Tags
#catalogue #dns #ddns #docker #networking #home-lab
🚀 Fonctionnalités
- 🌐 Support de 50+ fournisseurs DNS (Cloudflare, GoDaddy, OVH, Gandi, DigitalOcean, etc.)
- 🖥️ Interface WebUI pour configuration et monitoring
- 🔄 Mise à jour automatique des enregistrements DNS
- 📊 Historique des mises à jour et logs détaillés
- 🔔 Notifications (Discord, Slack, Pushover, Telegram, etc.)
- 🔒 Support IPv4 et IPv6
- 🐳 Container Docker léger basé sur Alpine Linux
- ⚙️ Configuration via variables d'environnement ou fichier JSON
🐳 Docker Compose
version: "3.8"
services:
ddns-updater:
image: qmcgaw/ddns-updater:latest
container_name: ddns-updater
restart: unless-stopped
ports:
- "8000:8000/tcp"
environment:
- CONFIG=
- PERIOD=5m
- UPDATE_COOLDOWN_PERIOD=5m
- PUBLICIP_FETCHERS=all
- PUBLICIP_HTTP_PROVIDERS=all
- PUBLICIPV4_HTTP_PROVIDERS=all
- PUBLICIPV6_HTTP_PROVIDERS=all
- PUBLICIP_DNS_PROVIDERS=all
- PUBLICIP_DNS_TIMEOUT=3s
- HTTP_TIMEOUT=10s
- DATADIR=/updater/data
- SHOUTRRR_ADDRESSES=
- SHOUTRRR_DEFAULT_TITLE="DDNS Updater"
- TZ=Europe/Paris
volumes:
- ./data:/updater/data
healthcheck:
test: ["CMD", "/updater/ddns-updater", "healthcheck"]
interval: 60s
timeout: 5s
retries: 1
start_period: 10s
⚙️ Configuration
Configuration via fichier JSON
Créez un fichier config.json dans le dossier data :
{
"settings": [
{
"provider": "cloudflare",
"zone_identifier": "votre_zone_id",
"domain": "votre-domaine.com",
"host": "@",
"ttl": 1,
"token": "votre_api_token",
"ip_version": "ipv4"
}
]
}
Variables d'environnement
| Variable | Description | Défaut |
|---|---|---|
CONFIG |
Configuration JSON inline | - |
PERIOD |
Intervalle de vérification | 5m |
PUBLICIP_FETCHERS |
Méthodes de récupération IP | all |
TZ |
Fuseau horaire | UTC |
SHOUTRRR_ADDRESSES |
URLs de notification | - |
🔧 Fournisseurs DNS Supportés
| Fournisseur | IPv4 | IPv6 |
|---|---|---|
| Cloudflare | ✅ | ✅ |
| GoDaddy | ✅ | ❌ |
| OVH | ✅ | ✅ |
| Gandi | ✅ | ✅ |
| DigitalOcean | ✅ | ✅ |
| DuckDNS | ✅ | ✅ |
| Dynu | ✅ | ✅ |
| Namecheap | ✅ | ❌ |
| No-IP | ✅ | ✅ |
| ... et 40+ autres | - | - |
🌐 Accès WebUI
Une fois le container démarré, accédez à l'interface web :
http://localhost:8000
L'interface permet de :
- Visualiser l'état des enregistrements DNS
- Voir l'historique des mises à jour
- Consulter les logs en temps réel
- Vérifier les erreurs éventuelles
🔗 Alternatives
| Alternative | Description | Différences |
|---|---|---|
| ddclient | Client DDNS en Perl | Plus ancien, pas de WebUI |
| inadyn | Client DDNS en C | Léger, configuration fichier |
| cloudflare-ddns | Spécifique Cloudflare | Uniquement Cloudflare |
🔗 Pages Liées
- app-ddclient — Client DDNS historique en Perl
- app-pihole — Pour ajouter un blocage DNS en complément
- cat-dns — Toutes les apps DNS du catalogue
- app-blocky — Alternative moderne combinant DDNS et blocage
📚 Ressources
🆕 Historique des Versions
| Version | Date | Changements |
|---|---|---|
| Latest | - | Dernière version stable |
🛡️ Sécurité
- Stockez les tokens API dans des variables d'environnement ou un fichier sécurisé
- Utilisez des permissions restreintes sur le dossier
data - Ne commitez jamais vos credentials dans Git
Fiche créée pour le catalogue self-hosted DNS