Docker container for DuckDNS, works with docker secrets, on ARM and x86
8.3K
Update IP on DuckDNS periodically. Works with docker secrets. Tested on amd64, armv7 and arm64.
Uses Alpine Linux for a minimal footprint. Uses a cronjob to run the standard DuckDNS curl script using no external dependencies.
Container packages available from Docker Hub and Github Container Registry (ghcr.io)
anujdatar/duckdnsghcr.io/anujdatar/duckdns| # | Parameter | Default | Notes | Description |
|---|---|---|---|---|
| 1 | FREQUENCY | 5 | OPTIONAL | how often you want to update IP on DuckDNS (default = every 5 minutes) |
| 2 | SUBDOMAINS | - | REQUIRED | your registered DuckDNS subdomains. Multiple comma separated subdomains allowed, no spaces. |
| 3 | TOKEN | - | REQUIRED | DuckDNS token |
| 4 | TZ | UTC | OPTIONAL | timezone so logs can be in local tz, instead of UTC |
docker run -d \
-e SUBDOMAINS=<your-comma-separated-subdomains> \
-e TOKEN=<your-duckdns-token> \
-e TZ=America/New_York \
--restart unless-stopped \
--name duckdns \
ghcr.io/anujdatar/duckdns
version: "3"
services:
duckdns:
image: ghcr.io/anujdatar/duckdns
container_name: duckdns
restart: unless-stopped
environment:
- SUBDOMAINS=<your-comma-separated-subdomains>
- TOKEN=<your-duckdns-token>
- TZ=America/New_York
- FREQUENCY=1 # OPTIONAL, default is 5
In case you plan to commit your docker-compose files to repos and wish to keep tokens/domains secure
version: "3"
services:
testduckdns:
image: ghcr.io/anujdatar/duckdns
container_name: duckdns
restart: unless-stopped
environment:
- SUBDOMAINS_FILE=/run/secrets/duckdns_subdomains
- TOKEN_FILE=/run/secrets/duckdns_token
- TZ=America/New_York
- FREQUENCY=1 # OPTIONAL, default is 5
secrets:
- duckdns_subdomains
- duckdns_token
secrets:
duckdns_subdomains:
file: duckdns_subdomains.txt
duckdns_token:
file: duckdns_token.txt
Your secret files should just be plain text strings containing subdomains/tokens
subdomain1,subdomain2
your_duckdns_token
docker build -t duckdns .
Content type
Image
Digest
sha256:2f4352a08…
Size
9.2 MB
Last updated
almost 3 years ago
docker pull anujdatar/duckdns