This commit is contained in:
alexandrev-tibco
2026-02-01 15:13:51 +01:00
parent f86425e668
commit 57d4cf2698
3 changed files with 32 additions and 11 deletions
+2 -1
View File
@@ -7,7 +7,7 @@ This setup uses one ddclient instance to update a single dynamic host per domain
- Create an A record `dyn` (e.g. `dyn.example.com`) and let ddclient update it. - Create an A record `dyn` (e.g. `dyn.example.com`) and let ddclient update it.
- Convert all service subdomains (blog, grafana, calibre, etc.) to CNAME records pointing to `dyn.<domain>`. - Convert all service subdomains (blog, grafana, calibre, etc.) to CNAME records pointing to `dyn.<domain>`.
- Optionally create a wildcard CNAME `*` pointing to `dyn.<domain>` and add exceptions for any hosts that should not follow the wildcard. - Optionally create a wildcard CNAME `*` pointing to `dyn.<domain>` and add exceptions for any hosts that should not follow the wildcard.
- Apex `@` cannot be a CNAME on Namecheap. Keep `@` as an A record. You can update `@` via ddclient if you choose, but the recommended default is `dyn` + CNAMEs. - Apex `@` cannot be a CNAME on Namecheap. Keep `@` as an A record. You can update `@` via ddclient if you choose (the template includes `@` entries), but the recommended default is `dyn` + CNAMEs.
## Namecheap “Advanced DNS” steps ## Namecheap “Advanced DNS” steps
@@ -30,6 +30,7 @@ Repeat these steps for each domain:
- Host: `*` - Host: `*`
- Value: `dyn.<domain>` - Value: `dyn.<domain>`
- TTL: Auto - TTL: Auto
- Note: wildcard CNAMEs are not updated by ddclient.
Note: some Namecheap setups require enabling Dynamic DNS per host in their panel. If updates fail, verify that Dynamic DNS is enabled for the `dyn` host. Note: some Namecheap setups require enabling Dynamic DNS per host in their panel. If updates fail, verify that Dynamic DNS is enabled for the `dyn` host.
+15 -5
View File
@@ -35,6 +35,11 @@ if [ ! -f "$DDCLIENT_CONF" ]; then
# ddclient.conf placeholder. Replace values below with your real Namecheap # ddclient.conf placeholder. Replace values below with your real Namecheap
# Dynamic DNS Passwords, or set per-domain environment variables before # Dynamic DNS Passwords, or set per-domain environment variables before
# running this script (see docs/dyndns-namecheap-alpine.md). # running this script (see docs/dyndns-namecheap-alpine.md).
#
# This placeholder updates both:
# - dyn.<domain> (recommended dynamic host)
# - @ (apex/root) if you choose to keep it dynamic
# Wildcard (*) is a DNS CNAME record and is not updated by ddclient.
# See templates/ddclient/ddclient.conf.template in this repo for full example. # See templates/ddclient/ddclient.conf.template in this repo for full example.
daemon=300 daemon=300
@@ -48,35 +53,40 @@ server=dynamicdns.park-your-domain.com
login=alexandre-vazquez.cloud login=alexandre-vazquez.cloud
password=${TOKEN_AV_CLOUD} password=${TOKEN_AV_CLOUD}
dyn.alexandre-vazquez.cloud dyn
@
protocol=namecheap protocol=namecheap
server=dynamicdns.park-your-domain.com server=dynamicdns.park-your-domain.com
login=alexandre-vazquez.com login=alexandre-vazquez.com
password=${TOKEN_AV_COM} password=${TOKEN_AV_COM}
dyn.alexandre-vazquez.com dyn
@
protocol=namecheap protocol=namecheap
server=dynamicdns.park-your-domain.com server=dynamicdns.park-your-domain.com
login=portfoliojournal.app login=portfoliojournal.app
password=${TOKEN_PJ_APP} password=${TOKEN_PJ_APP}
dyn.portfoliojournal.app dyn
@
protocol=namecheap protocol=namecheap
server=dynamicdns.park-your-domain.com server=dynamicdns.park-your-domain.com
login=xsltplayground.com login=xsltplayground.com
password=${TOKEN_XSLT_COM} password=${TOKEN_XSLT_COM}
dyn.xsltplayground.com dyn
@
protocol=namecheap protocol=namecheap
server=dynamicdns.park-your-domain.com server=dynamicdns.park-your-domain.com
login=olallalab.org login=olallalab.org
password=${TOKEN_OLALLA_ORG} password=${TOKEN_OLALLA_ORG}
dyn.olallalab.org dyn
@
CONF CONF
chmod 600 "$DDCLIENT_CONF" chmod 600 "$DDCLIENT_CONF"
echo "Created $DDCLIENT_CONF with placeholder values." echo "Created $DDCLIENT_CONF with placeholder values."
+15 -5
View File
@@ -1,6 +1,11 @@
# ddclient.conf template for Namecheap Dynamic DNS (multi-domain). # ddclient.conf template for Namecheap Dynamic DNS (multi-domain).
# Replace the placeholders with your Namecheap Dynamic DNS Passwords # Replace the placeholders with your Namecheap Dynamic DNS Passwords
# (not the Namecheap API key). # (not the Namecheap API key).
#
# This template updates both:
# - dyn.<domain> (recommended dynamic host)
# - @ (apex/root) if you choose to keep it dynamic
# Wildcard (*) is a DNS CNAME record and is not updated by ddclient.
daemon=300 daemon=300
syslog=yes syslog=yes
@@ -13,32 +18,37 @@ server=dynamicdns.park-your-domain.com
login=alexandre-vazquez.cloud login=alexandre-vazquez.cloud
password=NAMECHEAP_DDNS_PASSWORD_ALEXANDRE_VAZQUEZ_CLOUD password=NAMECHEAP_DDNS_PASSWORD_ALEXANDRE_VAZQUEZ_CLOUD
dyn.alexandre-vazquez.cloud dyn
@
protocol=namecheap protocol=namecheap
server=dynamicdns.park-your-domain.com server=dynamicdns.park-your-domain.com
login=alexandre-vazquez.com login=alexandre-vazquez.com
password=NAMECHEAP_DDNS_PASSWORD_ALEXANDRE_VAZQUEZ_COM password=NAMECHEAP_DDNS_PASSWORD_ALEXANDRE_VAZQUEZ_COM
dyn.alexandre-vazquez.com dyn
@
protocol=namecheap protocol=namecheap
server=dynamicdns.park-your-domain.com server=dynamicdns.park-your-domain.com
login=portfoliojournal.app login=portfoliojournal.app
password=NAMECHEAP_DDNS_PASSWORD_PORTFOLIOJOURNAL_APP password=NAMECHEAP_DDNS_PASSWORD_PORTFOLIOJOURNAL_APP
dyn.portfoliojournal.app dyn
@
protocol=namecheap protocol=namecheap
server=dynamicdns.park-your-domain.com server=dynamicdns.park-your-domain.com
login=xsltplayground.com login=xsltplayground.com
password=NAMECHEAP_DDNS_PASSWORD_XSLTPLAYGROUND_COM password=NAMECHEAP_DDNS_PASSWORD_XSLTPLAYGROUND_COM
dyn.xsltplayground.com dyn
@
protocol=namecheap protocol=namecheap
server=dynamicdns.park-your-domain.com server=dynamicdns.park-your-domain.com
login=olallalab.org login=olallalab.org
password=NAMECHEAP_DDNS_PASSWORD_OLALLALAB_ORG password=NAMECHEAP_DDNS_PASSWORD_OLALLALAB_ORG
dyn.olallalab.org dyn
@