55 lines
1.5 KiB
Markdown
55 lines
1.5 KiB
Markdown
# 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
|
|
```
|