DNS-01 Providers
Configure DNS-01 providers for GoDoxy
Supported providers
Generated from the bundled provider registry with shadowtree gen-autocert-providers.
| Provider ID | Configuration reference |
|---|---|
acmedns | lego acmedns |
azuredns | lego azuredns |
clouddns | lego clouddns |
cloudflare | lego cloudflare |
cloudns | lego cloudns |
custom | Custom ACME CA (ca_dir_url) |
desec | lego desec |
digitalocean | lego digitalocean |
dnsupdate | lego dnsupdate |
duckdns | lego duckdns |
edgedns | lego edgedns |
gcloud | lego gcloud |
godaddy | lego godaddy |
hetzner | lego hetzner |
hostinger | lego hostinger |
httpreq | lego httpreq |
infomaniak | lego infomaniak |
inwx | lego inwx |
ionos | lego ionos |
linode | lego linode |
local | Existing certificate files (cert_path and key_path); no ACME |
namecheap | lego namecheap |
netcup | lego netcup |
netlify | lego netlify |
oraclecloud | lego oraclecloud |
ovh | lego ovh |
porkbun | lego porkbun |
rfc2136 | Alias for dnsupdate |
scaleway | lego scaleway |
spaceship | lego spaceship |
timewebcloud | lego timewebcloud |
vercel | lego vercel |
vultr | lego vultr |
pseudo is internal and is not offered in the picker. Only the bundled DNS providers above are supported; lego's full catalogue includes providers that GoDoxy does not bundle.
Configure a provider
Choose a provider ID from the table above. AWS Route 53 (route53) is not bundled,
and googledomains was removed in lego v5. rfc2136 is an alias for dnsupdate.
Set the account email and certificate domains alongside the provider and its
options in config/config.yml. Option keys match the selected lego provider's
Config fields in snake_case, not its environment variable names. For example,
Spaceship's APIKey field is api_key, not SPACESHIP_API_KEY.
In the WebUI, the main and extra certificates use the same schema-generated
provider picker. Selecting any bundled DNS provider shows its concrete option
fields, including nested sections and lists. These fields come from the
provider's config type in the lego version bundled with GoDoxy.
Use the configuration references above to find the credentials your provider
requires, then use the matching Config field names for YAML options.
Options can be strings, booleans, numbers, arrays (such as acmedns allow_list),
or nested objects (such as OVH oauth2_config). Duration fields use Go duration
strings, for example 30s or 1m30s. Named maps are supported only where the
provider defines them, such as Azure's environment.services, whose entries
have audience and endpoint fields. HTTP transports and SDK credential objects
are excluded from editable options. Option values are redacted when GoDoxy
serializes configuration to JSON or YAML; protect the original configuration
file containing your credentials.
Cloudflare
autocert:
provider: cloudflare
options:
auth_token:auth_token your zone API token
Follow this guide from LEGO to create a new token with required permissions
CloudDNS
autocert:
provider: clouddns
options:
client_id:
email:
password:deSEC
autocert:
provider: desec
options:
token:token is your deSEC API token. See LEGO deSEC DNS documentation.
DuckDNS
autocert:
provider: duckdns
options:
token:Tested by earvingad
OVHCloud
autocert:
provider: ovh
options:
api_endpoint:
application_key:
application_secret:
consumer_key:
ttl: 120
propagation_timeout: 1m30sAlternatively, configure OAuth2 credentials as a nested object:
autocert:
provider: ovh
options:
api_endpoint:
oauth2_config:
client_id:
client_secret:Note, application_key and oauth2_config CANNOT be used together
api_endpoint: Endpoint URL, or one ofovh-eu,ovh-ca,ovh-us,kimsufi-eu,kimsufi-ca,soyoustart-eu,soyoustart-ca
application_secretapplication_keyconsumer_keyoauth2_config: Client ID and Client Secretclient_idclient_secret
Porkbun
autocert:
provider: porkbun
options:
api_key:
secret_api_key:Spaceship
Set SPACESHIP_API_KEY and SPACESHIP_API_SECRET in GoDoxy's environment and
reference them in the provider options. This keeps the credential values out
of the YAML file.
autocert:
provider: spaceship
email: admin@example.com
domains:
- example.com
- "*.example.com"
options:
api_key: ${SPACESHIP_API_KEY}
api_secret: ${SPACESHIP_API_SECRET}See Lego's Spaceship DNS documentation for the provider's credentials and settings.
Custom ACME CA
See Autocert with a Custom Internal CA for more details.
Other bundled providers
Use the table above as the supported list. Lego's full catalogue also contains providers that GoDoxy does not bundle. If a bundled provider fails with the matching configuration fields and credentials, submit an issue with the provider ID and error, without credentials.
Provider credentials and options
Options depend on the provider. GoDoxy uses the provider's default config when
options is omitted; supply the fields it needs otherwise. YAML values can
reference GoDoxy environment variables with ${VAR}. The CloudDNS example
below shows credentials set in .env and referenced from YAML options.
CloudDNS as an example (from LEGO DNS documentation)
Option 1
Set these in .env
CLOUDDNS_CLIENT_ID=bLsdFAks23429841238feb177a572aX
CLOUDDNS_EMAIL=you@example.com
CLOUDDNS_PASSWORD=b9841238feb177a84330fReference them from config.yml:
autocert:
...
provider: clouddns
options:
client_id: ${CLOUDDNS_CLIENT_ID}
email: ${CLOUDDNS_EMAIL}
password: ${CLOUDDNS_PASSWORD}Option 2
Set these in config.yml autocert.options section
Turn them into:
autocert:
provider: clouddns
email: admin@example.com
domains:
- example.com
options:
client_id: your-client-id
email: your-dns-account@example.com
password: your-dns-password