Certbot DNS Authenticator plugin for PowerDNS Admin.
Inspired by other certbot-dns-* plugins found in the official Certbot repository.
Install native or extend official certbot/certbot Docker image.
pip install "https://github.com/Simon-Spettmann/certbot-dns-powerdns-admin"FROM certbot/certbot
RUN pip install "https://github.com/Simon-Spettmann/certbot-dns-powerdns-admin/archive/refs/heads/main.zip"Set api_url and api_key in .ini file.
# ./dns_powerdns_admin.ini
dns_powerdns_admin_api_url = https://example.com
dns_powerdns_admin_api_key = passwordRun certbot with --authenticator "dns-powerdns-admin" and --dns-powerdns-admin-credentials "./dns_powerdns_admin.ini".
Optional: --dns-powerdns-admin-propagation-seconds "60"
certbot ... \
--authenticator "dns-powerdns-admin" \
--dns-powerdns-admin-credentials "./dns_powerdns_admin.ini" \
--dns-powerdns-admin-propagation-seconds "60" \
...services:
certbot:
# image: certbot/certbot
build: "https://github.com/Simon-Spettmann/certbot-dns-powerdns-admin.git"
volumes:
- ./certbot/data:/etc/letsencrypt/:rw
- ./certbot/credentials:/credentials:ro
command: sh -c 'while true; do certbot renew --non-interactive; sleep 86400; done"'docker compose build --pull
docker compose up --detachdocker compose exec certbotcertbot certonly \
--non-interactive \
--agree-tos \
--authenticator "dns-powerdns-admin" \
--dns-powerdns-admin-credentials "/credentials/dns_powerdns_admin.ini" \
--dns-powerdns-admin-propagation-seconds "60" \
--server https://acme-v02.api.letsencrypt.org/directory \
-d 'example.com'