Initial commit: DuckDNS DDNS updater config

This commit is contained in:
2026-02-27 19:51:29 -06:00
commit 9545c9231c
3 changed files with 64 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
config/

51
README.md Normal file
View File

@@ -0,0 +1,51 @@
# DuckDNS
DDNS updater running on box-stableapps (192.168.69.4). Updates two DuckDNS subdomains to point to the current public IP.
## Subdomains
| Subdomain | Full Domain |
|-----------|-------------|
| clintmasden | clintmasden.duckdns.org |
| dotrepo | dotrepo.duckdns.org |
## Credentials
| What | Value |
|------|-------|
| Token | `4a5a3762-47eb-4836-89d8-60014bab4922` |
| DuckDNS account | clintmasden@gmail.com |
## Server Details
| | |
|---|---|
| Host | 192.168.69.4 (box-stableapps) |
| Container | duckdns |
| Image | lscr.io/linuxserver/duckdns:latest |
| Ports | None (outbound HTTP only) |
| Config | `/home/clint/containers/duck.dns/config/` |
| SSH | `ssh clint@192.168.69.4` (password: `this-bo%-180391`) |
## How It Works
The container runs a cron job that periodically calls the DuckDNS API to update the A records for both subdomains with the host's current public IP. No inbound ports needed.
## Deployment
```bash
ssh clint@192.168.69.4
cd /home/clint/containers/duck.dns
sudo docker compose up -d
```
## Verify
```bash
# Check container logs
docker logs duckdns
# Check DNS resolution
nslookup clintmasden.duckdns.org
nslookup dotrepo.duckdns.org
```

12
docker-compose.yml Normal file
View File

@@ -0,0 +1,12 @@
services:
duckdns:
image: lscr.io/linuxserver/duckdns:latest
container_name: duckdns
environment:
- SUBDOMAINS=clintmasden,dotrepo
- TOKEN=4a5a3762-47eb-4836-89d8-60014bab4922
- UPDATE_IP=ipv4
- TZ=America/Chicago
volumes:
- ./config:/config
restart: unless-stopped