If your server do not have static IP, i.e. When Public IP of your server / router keep changing, This will automatically update new IP to Namecheap record.
Easy to setup
Lightweight
No cronjob configuration required
Logs for visibility
Open source
Change nameserver of you domain to BasicDNS or PremiumDNS or FreeDNS. Namecheap Account -> Domain List -> Manage -> Domain -> NAMESERVERS -> Choose BasicDNS from dropdown
Enable Dynamic DNS for your domain from Namecheap. Namecheap Account -> Domain List -> Manage -> Advanced DNS -> Dynamic DNS -> Toggle Status
Copy the Dynamic DNS password which is generated after enabling Dynamic DNS. Keep it safe and handy.
Add a record of type A + Dynamic DNS with required host name.
Install docker on server.
Run below command
Suppose, You need DDNS for server.example.com
docker run --name server.example.com -d --restart unless-stopped -e NC_HOST='server' -e NC_DOMAIN='example.com' -e NC_PASS='DynamicDDNSPa2w0rd' linuxshots/namecheap-ddns
Here,
NC_HOST is host name added in Namecheap record.
NC_DOMAIN is your domain name.
NC_PASS is your Dynamic DDNS password which is generated from Namecheap.
docker logs server.example.com
docker stop server.example.com # To stop
docker start server.example.com # To start after its stopped
docker rm server.example.com -f # To remove
To build your own image
Clone this repo
Run docker build
docker build -t linuxshots/namecheap-ddns .
NOTE: This sets the TTL to Automatic i.e. 30 minutes. Currently, There is no way provided by Namecheap to set custom TTL in Dynamic DDNS.
Content type
Image
Digest
sha256:0d533c011…
Size
15.6 MB
Last updated
over 1 year ago
docker pull linuxshots/namecheap-ddns