Dynamic DNS Go

Simple Dynamic DNS client written in Go.
How to use
-
Clone the repository.
-
Build the container image:
docker build -t balutoiu/dynamicdns-go .
-
Create the config file (sample here):
googledomains:
username: user
password: pass
domain: test.example.com
-
Run the container:
docker run -d \
-v ./config.yaml:/config.yaml \
-e DNS_PROVIDER=googledomains \
balutoiu/dynamicdns-go
Prebuilt docker images are available here.
Environment variables
-
DNS_PROVIDER
- the DNS provider to be used (defaults to googledomains
)
-
SLEEP_INTERVAL
- the amount of time to wait between updates,
example: 1s
, 1m
, 1h
etc. (defaults to 1h0m0s
)
Supported Dynamic DNS providers
Google domains
Example of config.yaml
file:
googledomains:
username: user
password: pass
domain: test.example.com
Start the container with:
docker run -d --restart=unless-stopped \
-v ./config.yaml:/config.yaml \
-e DNS_PROVIDER=googledomains \
ghcr.io/balutoiu/dynamicdns-go
Mail-in-a-box
Example of config.yaml
file:
mailinabox:
username: user
password: pass
domain: www.example.com
api_url: https://box.mailinabox.com
Start the container with:
docker run -d --restart=unless-stopped \
-v ./config.yaml:/config.yaml \
-e DNS_PROVIDER=mailinabox \
ghcr.io/balutoiu/dynamicdns-go
OVH domains
Example of config.yaml
file:
ovhdomains:
application_key: app-key
application_secret: app-secret
consumer_key: consumer-key
zone_name: example
sub_domain: www
Start the container with:
docker run -d --restart=unless-stopped \
-v ./config.yaml:/config.yaml \
-e DNS_PROVIDER=ovhdomains \
ghcr.io/balutoiu/dynamicdns-go