node-do-ddns
This package is a simple script to allow you to use Digital Ocean's domain service as a dynamic DNS provider.
Installation
npm install -g node-do-ddns
Configuration
Configuration is done in environment.js
, simply copy environment.example.js
to environment.js
and modify the values.
Key | Value |
---|---|
api .token |
This is the token that you will generate in the Digital Ocean UI |
domains .<domain-name> |
domains is an object in which the keys are the domains you have hosted in Digital Ocean |
domains .<domain-name>[...] |
The value of the domains .<domain-name> key is an array of record IDs you want updated |
Example Configuration
Service
You can use a cron job below and modify the frequency as needed, or you could use a systemd timer service which you will find below the cron.
*/30 * * * * node /path/to/node-do-ddns/do-ddns.js
do-ddns.service
[Unit]Description=Digital Ocean DDNS [Service]Type=oneshotExecStart=/usr/bin/node /path/to/node-do-ddns/do-ddns.js
do-ddns.timer
[Unit]Description=Digital Ocean DDNS Updater [Timer]OnCalendar=*:0/30Persistent=true [Install]WantedBy=timers.target
Enable Systemd
Copy both files to /lib/systemd/system
or /usr/lib/systemd/system
then execute the following to enable the service
systemctl enable do-ddns.timer && systemctl start do-ddns.timer