https://github.com/theadzik/dyndns-cloudflare
A dynamic dns client for cloudflare.com
https://github.com/theadzik/dyndns-cloudflare
cloudflare cloudflare-dns dns docker docker-compose kubernetes python
Last synced: about 2 months ago
JSON representation
A dynamic dns client for cloudflare.com
- Host: GitHub
- URL: https://github.com/theadzik/dyndns-cloudflare
- Owner: theadzik
- License: mit
- Created: 2024-11-25T19:50:32.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-27T08:23:27.000Z (about 1 year ago)
- Last Synced: 2025-01-26T15:29:26.641Z (about 1 year ago)
- Topics: cloudflare, cloudflare-dns, dns, docker, docker-compose, kubernetes, python
- Language: Python
- Homepage:
- Size: 34.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DynDNS-Cloudflare
DynDNS-Cloudflare is a simple dynamic dns client working with [cloudflare.com](https://www.cloudflare.com/).
****
## Getting started
### Prerequisites - Cloudflare
1. Follow the
[account setup](https://developers.cloudflare.com/learning-paths/get-started/account-setup/create-account/)
guide.
1. Create an
[API Token](https://developers.cloudflare.com/learning-paths/get-started/account-setup/create-api-token/)
with permissions to edit your zone DNS.
1. Add [your domain](https://developers.cloudflare.com/learning-paths/get-started/add-domain-to-cf/)
### Config
Depending on your environment provide environment variables either in
[docker-compose](docker-compose/docker-compose.yaml) or in [kubernetes](kubernetes-manifest/secret.yaml)
| Name | Description | Required |
|-------------------------|---------------------------------------------------|----------|
| API_TOKEN | Your Cloudflare API Token | Required |
| HOSTNAME | Domain you would like to update, e.g. example.com | Required |
| LOG_LEVEL | DEBUG, INFO or WARN | Optional |
| CHECK_ONLY_MODE | Setting any value will disable updating DDNS | Optional |
| SMTP_HOST | SMTP server used to send warning emails | Optional |
| SMTP_PORT | SMTP port, defaults to 465 | Optional |
| SMTP_USERNAME | e.g. noreply@example.com | Optional |
| SMTP_PASSWORD | Password to SMTP server | Optional |
| NOTIFICATION_EMAIL | Address to receive warning emails | Optional |
| NOTIFICATION_ON_SUCCESS | Also send emails on successful DNS update | Optional |
### Start DynDNS-Cloudflare
Start it with your container by running `docker-compose up`, `kubectl apply -k kubernetes-manifest`
or any other container runtime you use.