I did the snap installation of certbot and a dns plugin this way (I am working as root in Ubuntu 18.04 so please prepend sudo
if you're not root).
Don't be deceived
At least on Ubuntu I relly got deceived by certbot plugins
, that did not show the plugin even though it is perfectly working.
Install pip, certbot (with snap) and then simply do the pip installation of the plugin.
apt install python3-pip
snap install --classic certbot
python3 -m pip install certbot-dns-hetzner
certbot plugins
Now certbot plugins
does not list your installed plugin but again, don't get fooled, it will work (at least it did work for me).
If you are running into problems, have a look into the letsencrypt.log (normally /var/log/letsencrypt/letsencrypt.log) and find the paths let's encrypt searches for plugins (folder dist-packages
). You should use the same python version, let's encrypt uses when installing your plugin.
The wrong way
After trying the right way above (not knowing that certbot already could find and use the dns plugin), I went on trying this. I thought this is the right way and got deceived by certbot plugin
because the plugin showed up but was not found while running a certbot request.
So this is just for the ones being interested in failures ;-)
Install certbot and check installed plugins:
snap install --classic certbot
certbot plugins
Install the desired dns plugin into your certbot (here Hetzner DNS) installation and check if installation succeeded:
cd /snap/certbot/current/usr/bin
./python3 -m pip install certbot-dns-hetzner
certbot plugins
Note:
Some plugins are already prepared to be installed by snap, what is the easiest way of installation. Search the SnapStore to find out if your desired plugin is already available in a snap version (like certbot-dns-cloudxns, certbot-dns-madeeasy, certbot-dns-dnssimple, ...).
snap install certbot-dns-cloudxns