Brief notes on how to setup a lets encrypt cert bot using Cloudflare as dns provider.
sudo snap install --classic certbot sudo snap set certbot trust-plugin-with-root=ok
sudo snap install certbot-dns-cloudflare
sudo nano /etc/letsencrypt/cloudflare.ini
dns_cloudflare_api_token = PASTE_TOKEN_HERE
sudo chown root:root /etc/letsencrypt/cloudflare.ini
sudo chmod 600 /etc/letsencrypt/cloudflare.ini
sudo certbot certonly --dns-cloudflare \ --dns-cloudflare-credentials /etc/letsencrypt/cloudflare.ini \ -d example.com -d int.example.com \ --agree-tos --email you@example.com --non-interactive
sudo certbot renew --dry-run
Avoid renewing certificates without the dry run flag as Let's encrypt has a cap of renewals/day.
sudo nginx -t && sudo systemctl reload nginx