.gitignore | ||
.sample.env | ||
docker-compose.yml | ||
Dockerfile | ||
package.json | ||
README.md | ||
script.js | ||
yarn.lock |
Docker DDNS Cloudflare
Simple container for setting setting and updating to your local ip address. Only makes requests if the IP has changed since last time. By default it runs once every minute and the IP is resolved by https://canihazip.com.
Quickstart 🚀
-
Get yout api token here (Top right -> My Profile -> Scroll Down -> Global Api Key)
-
Create the wanted DNS record (e.g.
some.example.com
). The script can only update it, not create it. -
Create an
.env
file:
EMAIL=my@mail.com
KEY=my_api_key
ZONE=example.org
DNS_RECORD=some.example.org
- Run the container
docker run -d --name ddns --restart always --env-file .env cupcakearmy/ddns-cloudflare
To check logs:
docker logs ddns
Docker-Copmose
With docker-compose:
git clone https://github.com/CupCakeArmy/docker-ddns-cloudflare.git
cp .sample.env .env
# Edit the .env file with your data
docker-compose up -d
Customize
Custom CRON
By default the script runs every 5 minutes. You can customize this by simply setting the CRON
value in the .env
file.
# .env
# e.g. every minute
CRON=* * * * *
Custom Resolver
By default the script checks the own ip by calling https://api.ipify.org/
. This also can be configured. It has to be an endpoint that return a plain text containing the ip by get request.
# .env
RESOLVER=https://ipv4.icanhazip.com/