Certbot in Docker mit Freedns

Ich setze auf Freedns und muss für ein Projekt auch damit arbeiten. Certbot eignet sich sehr gut für die Erstellung von Zertifikaten und ist weit verbreitet. Hinzu kann der Certbot auch im Dockercontainer betrieben werden. Nun stellt sich aber die Frage wie macht man das mit Freedns. Ich habe das einmal ausgetestet mit dem folgenden Plugin: https://pypi.org/project/certbot-dns-freedns/#files

Am besten macht man zuerst eine Testinstallation bevor man es dann in einen Container Packt. Ich musste dafür folgende Pakete installieren.

sudo apt-get update
sudo apt install python3-pip
sudo pip install certbot-dns-freedns
sudo pip install zope.interface

Vorab musste ich in einer Datei: “/etc/letsencrypt/meinedomain.ini” die Logindaten zu Freedns hinterlegen, dies ist in der Anleitung von diesem Plugin gut beschrieben.

Mit Certbot ein Zertifikat anfordern via Freedns:

certbot certonly \
  --authenticator dns-freedns \
  --dns-freedns-credentials /etc/letsencrypt/meinedomain.ini \
  --dns-freedns-propagation-seconds 900 \
  --server https://acme-v02.api.letsencrypt.org/directory \
  --agree-tos \
  --rsa-key-size 4096 \
  -d 'meinedomain.ch' \
  -d '*.meinedomain.ch'

Normalerweise hole ich die Zertifikate mit acme.sh ab dies ist ein reines Shell Script und dafür gibt es auch ein Freedns Plugin.