This certbot plugin for dns-01 challenge for Hetzner.
Project description
Hetzner DNS Authenticator certbot plugin
This certbot plugin automates the process of completing a dns-01 challenge by creating, and subsequently removing, TXT records using the Hetzner Cloud API.
Requirements
Install
Install this package via pip in the same python environment where you installed your certbot.
pip install certbot-dns-hetzner
Usage
To start using DNS authentication for the Hetzner DNS or cloud API, pass the following arguments on certbot's command line:
| Option | Description |
|---|---|
--authenticator dns-hetzner |
select the authenticator plugin (Required) |
--dns-hetzner-credentials |
Hetzner DNS API credentials INI file. (Required) |
--dns-hetzner-propagation-seconds |
Seconds to wait for the TXT record to propagate |
Please make sure to use the absolute path for the credentials file - some users experienced problems with relative paths.
Version 4.x only supports Hetzner Cloud API
Version 3.x selects either the old DNS API or the new cloud API depending on the provided credentials.
Note: Make sure to use the correct credentials for the different domains. Only one API is working for one domain.
Pre 3.x only the Hetzner DNS API is supported.
Credentials
Generate an API token as described here.
An example credentials.ini file:
dns_hetzner_api_token = nohnah4zoo9Kiejee9aGh0thoopee2sa
Examples
To acquire a certificate for example.com
certbot certonly \\
--authenticator dns-hetzner \\
--dns-hetzner-credentials /path/to/my/hetzner.ini \\
-d example.com
To acquire a certificate for *.example.com
certbot certonly \\
--authenticator dns-hetzner \\
--dns-hetzner-credentials /path/to/my/hetzner.ini \\
-d '*.example.com'
Troubleshooting
Plugin not showing up
If certbot plugins does not show the installed plugin, you might need to set CERTBOT_PLUGIN_PATH.
CERTBOT_PLUGIN_PATH=/usr/local/lib/python3.X/site-packages/ certbot renew
See letsencrypt community thread
Renewing certificate fails
Please ensure to use an absolute path for the credentials file - some users experienced problems with relative paths.
Not working with snap
We did not nor plan to support snap - it was created from this repo.
Feel free to start a new snap package yourself - we would happily link it here.
Thanks to
Of course certbot, which examples and documentation I used to implement this plugin. And to https://github.com/m42e/certbot-dns-ispconfig which served as an excellent example and README template as well.
and of course to all contributors and people raising issues.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file certbot_dns_hetzner-4.0.0a0.tar.gz.
File metadata
- Download URL: certbot_dns_hetzner-4.0.0a0.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a5eb38817807b9bb17210c4f95ead8b0dcd5b999237753766074a1552d9b5be
|
|
| MD5 |
9619bd49a6e5b93b536d3f54e43bed60
|
|
| BLAKE2b-256 |
1943cbfaf2ffbbf193112bab763f1fa76d2226fad25367731ac53130c7946e91
|
File details
Details for the file certbot_dns_hetzner-4.0.0a0-py2.py3-none-any.whl.
File metadata
- Download URL: certbot_dns_hetzner-4.0.0a0-py2.py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32209c8d36ddc3de8a4609ae75cb72d0423eb2471bf227315b89edf143b8929f
|
|
| MD5 |
91f5dc02241bc6c8ba7a58d9dc7e2a42
|
|
| BLAKE2b-256 |
f5654d8c6c2e5a8b139c6188f68c561a1a6ff30c7198c39fcbbf0047452a1a0c
|