Docker image pro automatickou změnu IP adresy domény. Jde o fork původního skriptu, který díky kontejnerizaci je možné spustit například v UnRAIDu. V ideálním případě doporučuji nastavit cron aby se tento image periodicky spouštěl.
Docker image je sestaven z poslední verze master větve v Docker Hubu pod názvem janch32/wedos-ddns.
Skript zjistí svoji ip adresu počítače, na kterém běží. Poté přeloží doménové jméno na IP adresu a obě IP adresy porovná. Pokud se liší, skript wedos-updatedns.py změní přes Wedos WAPI (rozhraní) IP adresu, kam má doména směřovat. Pak standardně čekáte až hodinu, než se změny projeví na všech DNS serverech.
- nastavenou a uloženou A doménu, kterou chcete skriptem udržovat aktuální návod Youtube, návod v textové nápovědě s typy DNS adres
Nejčastěji vás budou zajímat A domény a CNAME (alias = povedou na stejnou IP adresu). A doména je example.com směřující na konkrétní IP adresu. CNAME můžete nastavit jako subdoménu something.example.com s adresou na example.com. Vřele doporučuji dát alias *.example.com , což přesměruje všechny subdomény na váš server a nemusíte je ručně vyjmenovávat. Případně vás budou zajímat ještě MX záznamy pro emailové adresy. Za zmínku stojí ještě formát AAA, což je to samé co A záznam, jen pro IPv6. Teoreticky by mohl tento skript fungovat pro IPv4 i IPv6, ale neměl jsem možnost IPv6 vyzkoušet.
- nastavené WAPI rozhraní (návod k WAPI, rozsahy IP adres českých poskytovatelů: tomasbenda.cz či nirsoft.net)
Parametry se zadávají jako proměnné prostředí při vytváření nebo spouštění kontejneru
LOGIN
- E-mailová adresa vašeho Wedos účtuPASSWORD
- Heslo k Wedos WAPI účtuDOMAIN
- hlavní doména pod kterou změny provádíme- (volitelné)
SUBDOMAIN
- poddoména u které se má A záznam nastavit. Již musí existovat A záznam pod touhle doménou. V případě vynechání se záznam aplikuje na doménu druhého řádu.
- Dynamické nastavení IP adresu A záznamu na doméně
subdomain.example.com
docker run -it --rm janch32/wedos-ddns -e LOGIN=user@example.com -e PASSWORD=passW0rd! -e DOMAIN=example.com -e SUBDOMAIN=subdomain
- Dynamické nastavení IP adresu A záznamu na doméně
example.com
docker run -it --rm janch32/wedos-ddns -e LOGIN=user@example.com -e PASSWORD=passW0rd! -e DOMAIN=example.com
- otevřeme správce úloh
$ crontab -e
- na konec souboru přidáme tyto dva řádky:
@reboot ...sem zadejte váš docker příkaz...
0 * * * * ...sem zadejte váš docker příkaz...
Skript se spustí při každém (re)startu počítače a pak každou hodinu. Čas si můžete upravit pomocí konfigurátoru.
V případě běhu v UnRAIDu doporučuji plugin User Scripts, který umožňuje nastavit cronjoby. V nastavní pluginu stačí přidat nový skript, který může vypadat například takto: (wedos-ddns
je název vytvořeného docker kontejneru v UnRAIDu)
#!/bin/bash
/usr/bin/docker start wedos-ddns