There are a few ways to get route-ddns:
- Grab a release executable.
- Run
go get github.com/george-richardson/route-ddns
to install on GOPATH. - Pull the docker image with
docker pull georgerichardson/route-ddns
.
route-ddns is a ddns client that updates record sets in AWS route53 when an IP change is detected.
Usage:
route-ddns [flags]
Flags:
--config string config file (default is ./route-ddns.yaml)
-h, --help help for route-ddns
You must provide a valid config file as described below. AWS must be configured with a default profile or through environment variables as described in the official AWS documentation.
If running on Docker you should add your config file as a volume. You will also need to configure your AWS credentials as environment variables on the container.
docker run -v route-ddns.yml:/route-ddns.yml \
-e AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE \
-e AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \
-e AWS_DEFAULT_REGION=us-west-2 \
georgerichardson/route-ddns
# A list of hosted zones to update.
hostedZones:
- id: Z1WM8KTX7RPOAI # The ID of the hosted zone.
records:
- name: example.com # The name of the record to update. Will be created if doesn't already exist.
recordType: A # The type of record to set.
ttl: 60 # TTL to set on the record.
- name: subdomain.example.com
recordType: A
ttl: 60
# (Optional) List of public IP resolvers to use (default: https://api.ipify.org?format=text)
providers:
- "https://api.ipify.org?format=text"
- "https://myip.dnsomatic.com/"
- "https://icanhazip.com/"
- "https://bot.whatismyipaddress.com/"
# (Optional) How often in seconds IP should be checked and updated in Route53 (default: 300)
cycleTime: 300