If the public IP provided by your ISP is dynamic this will help you
keep your domain A records (i.e example.com) updated.
If the domain name configured doesn't match the expected IP it will look for all A records in the configured zone and update records if necessary.
This tool needs to run from the network that has the public IP.
It will use an external service to lookup the source IP and use that to update the record.
It will also use socket.gethostbyname to check if domain and current IP matches.
The app requires environment variables to work.
They are described in env.example
Credentials for AWS is required.
Provide the necessary env variables described here:
https://boto3.amazonaws.com/v1/documentation/api/latest/guide/configuration.html#using-environment-variables
You can find the route53 zone ID for your domain:
https://console.aws.amazon.com/route53/v2/hostedzones# and look for the Hosted zone ID
column.
To run it once:
docker run --env-file your-env-file -e AWS_ACCESS_KEY_ID=foo -e AWS_SECRET_ACCESS_KEY=bar ghcr.io/parberge/route53-record-updater:latest
Since it doesn't start a running service this has to be scheduled (e.g cron) for continuous updates