Obtain certificates using a DNS TXT record for ISPConfig domains with DDNS module tokens
Project description
certbot-dns-ispconfig-ddns
ISPConfig DNS Authenticator plugin for Certbot using tokens from the ISPConfig DDNS module
This plugin automates the process of completing a dns-01
challenge by
creating, and subsequently removing, TXT records.
Configuration of ISPConfig
In the DNS -> Dynamic DNS -> Tokens
you need to have a token with the following rights:
- Allowed zones: all DNS zones for which you want to create ssl certificates
- Allowed record types:
TXT
- Limit records:
_acme-challenge
If you want to create certificates for subdomains, they must be included in the Limit records:
_acme-challenge,_acme-challenge.subdomain1,_acme-challenge.subdomain2
Installation
pip install certbot-dns-ispconfig-ddns
Usage
Credentials file or cli parameters
You can either use cli parameters to pass authentication information to certbot:
...
--dns-ispconfig-ddns-endpoint <your-ispconfig-url (e.g. https://server.example.com:8080>
--dns-ispconfig-ddns-token <your-ddns-token>
Or to prevent your credentials from showing up in your bash history, you can also create a
credentials-file ispconfig-ddns.ini
(the name does not matter) with the following content:
dns_ispconfig_ddns_endpoint=<your-ispconfig-url (e.g. https://server.example.com:8080>
dns_ispconfig_ddns_token=<your-ddns-token>
And then instead of using the --dns-ispconfig-ddns-*
parameters above, you can use
...
--dns-ispconfig-ddns-credentials </path/to/your/ispconfig-ddns.ini>
You can also mix these usages, though the cli parameters always take precedence over the ini file.
Examples
To acquire a single certificate for both example.com
and *.example.com
:
certbot certonly \
--non-interactive \
--agree-tos \
--email <your-email> \
--preferred-challenges dns \
--authenticator dns-ispconfig-ddns \
--dns-ispconfig-ddns-endpoint <https://server.example.com:8080> \
--dns-ispconfig-ddns-token <your-ddns-token> \
--dns-ispconfig-ddns-propagation-seconds 60 \
-d 'example.com' \
-d '*.example.com'
Docker
In order to create a docker container with a certbot-dns-ispconfig installation,
create an empty directory with the following Dockerfile
:
FROM certbot/certbot
RUN pip install certbot-dns-ispconfig-ddns
Proceed to build the image::
docker build -t certbot/dns-ispconfig-ddns .
Once that's finished, the application can be run as follows::
docker run --rm \
-v /var/lib/letsencrypt:/var/lib/letsencrypt \
-v /etc/letsencrypt:/etc/letsencrypt \
--cap-drop=all \
certbot/dns-ispconfig-ddns certonly \
--non-interactive \
--agree-tos \
--authenticator dns-ispconfig-ddns \
--dns-ispconfig-ddns-propagation-seconds 60 \
--dns-ispconfig-ddns-credentials /etc/letsencrypt/.secrets/domain.tld.ini \
-d example.com -d '*.example.com'
Project details
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
File details
Details for the file certbot_dns_ispconfig_ddns-1.0.9.tar.gz
.
File metadata
- Download URL: certbot_dns_ispconfig_ddns-1.0.9.tar.gz
- Upload date:
- Size: 8.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
391482980dafe9cd4e4986ce024764498a0b27600cfcadc0916c362d8dd68a56
|
|
MD5 |
780762151e91b4b319481d602db9cedf
|
|
BLAKE2b-256 |
7207010d4ad8ecf73985ebd06b69d624175e1d718ad71695a38ededd232dcc64
|
File details
Details for the file certbot_dns_ispconfig_ddns-1.0.9-py3-none-any.whl
.
File metadata
- Download URL: certbot_dns_ispconfig_ddns-1.0.9-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
45e4bb2a095c27fc56d37bb56c0519b06dd91511cbbc2f32bd343d7875fdc753
|
|
MD5 |
4dfc459eb045efb4c9b22bbf205774f7
|
|
BLAKE2b-256 |
3192d964e6bd0961e4da907ebf0c0934c756ba1b65bc2894200751d81a0542af
|