Skip to content

jblyberg/do-dyndns

Repository files navigation

DigitalOcean Dynamic DNS Service

This is a small node application that periodically checks to see if your external IP address has changed, and if so, updates a DNS record on DigitalOcean. DynDNS services are stupid expensive for what they do. DigitalOcean's domain service is free (for now) and fairly painless to use.

This application uses the ipify.org API to fetch external IP addresses. They say you can use it as much as you like, but please be kind and refrain from pummelling it.

Also, be aware of DigitalOcean's API rate-limiting. This application will make a single query for every domain passed in DO_CHECK_DOMAINS per cron cycle. If your external IP address and the address at DigitalOcean do not match, it will make another query to update the record.

Installation

Manual Installation

Clone this repository, then:

cd do-dyndns
pnpm i
pnpm start:prod

Docker/Kubernetes

Deploy with image jblyberg/do-dyndns:latest and configure with the variables below

Environmental Variables

  • DO_CRON_EXPRESSION Optional. Default: 0 */30 * * * * (30 minutes) Cron expression for how often to check.
  • DO_CHECK_DOMAINS List of domains to check. Should be space-separated domain/record ID pairs. Example: mydomain1.com:63546274 mydomain2.com:54726483
  • DO_API_TOKEN Digitalocean API token. Needs to have write access.

About

Dynamic DNS service for DigitalOcean

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published