Other acme.sh provider¶
acme.sh supports dozens of DNS hooks. Tenantry knows the exact variables of eleven of them (list). For any other hook, pass the hook name and name its secret variables yourself.
Steps¶
- Find your provider in the acme.sh dnsapi wiki. Note the hook name (
dns_gdfor GoDaddy, for example) and the variables it needs. - Decide which variables are secrets (keys, tokens, passwords) and which are plain settings (zone ids, endpoints).
- Put the secrets in a root-only file, one
VARIABLE=valueper line. - Run the installer. Each secret variable is declared with
--dns-secret-var NAME(repeat it). Plain settings use--dns-setting VAR=value.
Example: GoDaddy (dns_gd)
( umask 077; cat > /root/tenantry-dns.env <<'EOF'
GD_Key=<key>
GD_Secret=<secret>
EOF
)
sudo scripts/install.sh --name acme --public-url https://tenantry.acme.ch:9443 \
--teleport-local auto \
--tls acme-dns --dns-provider dns_gd \
--dns-secret-var GD_Key --dns-secret-var GD_Secret \
--dns-credentials-file /root/tenantry-dns.env \
--acme-email ops@acme.ch --https-port 9443
The guided mode (sudo scripts/install.sh) offers the same path: choose "Another acme.sh DNS provider (any dns_xxx hook)", then type the hook name, its secret variables and its settings.
Rules¶
- The hook name must look like
dns_followed by lowercase letters, digits or_. --dns-secret-varis only for hooks Tenantry does not know. For a known provider the installer refuses it (the variables are already known).- Secrets never go on a command line. A variable named in
--dns-secret-varis refused as a--dns-setting. - Reserved names are refused:
PATH,HOME,LE_WORKING_DIR,LE_CONFIG_HOME,AUTO_UPGRADE,ACME_EAB_KID. - Secret values may only contain letters, digits and
._~+/=:@%,-, up to 512 characters. - Apply the usual advice: a token limited to the zone, dedicated to this host, with an expiry; or a challenge alias.