202 lines
5.1 KiB
Markdown
202 lines
5.1 KiB
Markdown
---
|
|
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](https://github.com/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
|
|
|
|
```yaml
|
|
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` :
|
|
|
|
```json
|
|
{
|
|
"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](https://github.com/ddclient/ddclient) | Client DDNS en Perl | Plus ancien, pas de WebUI |
|
|
| [inadyn](https://github.com/troglobit/inadyn) | Client DDNS en C | Léger, configuration fichier |
|
|
| [cloudflare-ddns](https://github.com/timothymiller/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
|
|
|
|
- 📖 [Documentation officielle](https://github.com/qdm12/ddns-updater/blob/master/readme.md)
|
|
- 🐳 [Image Docker Hub](https://hub.docker.com/r/qmcgaw/ddns-updater)
|
|
- 💻 [GitHub Repository](https://github.com/qdm12/ddns-updater)
|
|
- 🐛 [Issues GitHub](https://github.com/qdm12/ddns-updater/issues)
|
|
|
|
---
|
|
|
|
## 🆕 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*
|