Initial commit: Namecheap DDNS updater config

This commit is contained in:
2026-02-27 19:51:42 -06:00
commit a879b8d1fe
2 changed files with 72 additions and 0 deletions

54
README.md Normal file
View File

@@ -0,0 +1,54 @@
# Namecheap DDNS
Dynamic DNS updater for dotrepo.com running on box-stableapps (192.168.69.4). Two containers keep the root (`@`) and wildcard (`*`) A records pointing to the current public IP.
## DNS Records Updated
| Record | Domain | Container |
|--------|--------|-----------|
| @ (root) | dotrepo.com | ddns_dotrepo_at |
| * (wildcard) | *.dotrepo.com | ddns_dotrepo_wild |
## Credentials
| What | Value |
|------|-------|
| NC_DOMAIN | dotrepo.com |
| NC_PASS (DDNS password) | `f1e2a12848f24995918b84760fd02b41` |
| Namecheap account | clintmasden |
The DDNS password is NOT the Namecheap account password. It's generated in Namecheap dashboard under Domain List > Advanced DNS > Dynamic DNS.
## Server Details
| | |
|---|---|
| Host | 192.168.69.4 (box-stableapps) |
| Containers | ddns_dotrepo_at, ddns_dotrepo_wild |
| Image | linuxshots/namecheap-ddns |
| Ports | None (outbound HTTP only) |
| Volumes | None (stateless) |
| SSH | `ssh clint@192.168.69.4` (password: `this-bo%-180391`) |
## How It Works
Each container polls the Namecheap DDNS API to update its respective A record. The wildcard record (`*`) ensures all subdomains (audioevents.dotrepo.com, learnxiny.dotrepo.com, etc.) resolve to the public IP. Traefik then routes each subdomain to the correct container.
## Deployment
```bash
ssh clint@192.168.69.4
cd /home/clint/containers/namecheap.dns
sudo docker compose up -d
```
## Verify
```bash
# Check containers are running
docker ps --filter name=ddns
# Check DNS resolution
nslookup dotrepo.com
nslookup audioevents.dotrepo.com
```

18
docker-compose.yml Normal file
View File

@@ -0,0 +1,18 @@
services:
ddns_dotrepo_at:
image: linuxshots/namecheap-ddns
container_name: ddns_dotrepo_at
environment:
- NC_DOMAIN=dotrepo.com
- NC_HOST=@
- NC_PASS=f1e2a12848f24995918b84760fd02b41
restart: unless-stopped
ddns_dotrepo_wild:
image: linuxshots/namecheap-ddns
container_name: ddns_dotrepo_wild
environment:
- NC_DOMAIN=dotrepo.com
- NC_HOST=*
- NC_PASS=f1e2a12848f24995918b84760fd02b41
restart: unless-stopped