Cloudflare DDNS Script
Go to file
dependabot[bot] 328db531bb
Bump axios from 0.19.2 to 0.21.1
Bumps [axios](https://github.com/axios/axios) from 0.19.2 to 0.21.1.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v0.21.1/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.19.2...v0.21.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-06 07:46:10 +00:00
.gitignore new version 2020-07-23 12:52:07 +02:00
.sample.env new version 2020-07-23 12:52:07 +02:00
docker-compose.yml container name and from image 2019-01-22 13:03:56 +01:00
Dockerfile scripts 2020-07-29 09:25:02 +02:00
package.json Bump axios from 0.19.2 to 0.21.1 2021-01-06 07:46:10 +00:00
README.md Update README.md 2020-08-01 21:05:19 +02:00
script.js select also for a type 2020-07-29 09:19:28 +02:00
yarn.lock Bump axios from 0.19.2 to 0.21.1 2021-01-06 07:46:10 +00:00

Docker DDNS Cloudflare

Docker Size Docker Downloads

Features 🌈

  • Simple container for setting setting and updating cloudflare records to your local ip address.
  • Only makes requests if the IP has changed.
  • By default it runs once every minute and the IP is resolved by https://api.ipify.org/.

Quickstart 🚀

  1. Get your api token here (Top right -> My Profile -> API Tokens)

Click create token. You can then use the Edit DNS Zone template. Give it a name.

Settings

  1. Create an .env file:
EMAIL=my@mail.com
KEY=my_api_key
ZONE=example.org
DNS_RECORD=some.example.org
  1. 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/