diff --git a/tasks/nginx.yml b/tasks/nginx.yml index 3dbe81c53c095973bee95e632eb9716e6ea3955d..3d71654dc8a056b85ad021e054419c63890e2c7f 100644 --- a/tasks/nginx.yml +++ b/tasks/nginx.yml @@ -14,23 +14,34 @@ state: started # from https://gist.github.com/mattiaslundberg/ba214a35060d3c8603e9b1ec8627d349 -- name: "Download certbot-auto" +- name: "Prepare snapd for certbot installation" when: funkwhale_nginx_managed and funkwhale_letsencrypt_enabled become: true - get_url: - url: https://dl.eff.org/certbot-auto - dest: /usr/local/bin/certbot-auto - mode: 0750 + command: snap install core + +- name: "Refresh core snap before installing certbot" + when: funkwhwale_nginx_managed and funkwhale_letsencrypt_enabled + become: true + command: snap refresh core -- name: "Install certbot using certbot-auto" - when: funkwhale_nginx_managed and funkwhale_letsencrypt_enabled +- name: "Install certbot snap" + when: funkwhwale_nginx_managed and funkwhale_letsencrypt_enabled + become: true + command: snap install --classic certbot + +- name: "Link certbot snap installation" + when: funkwhwale_nginx_managed and funkwhale_letsencrypt_enabled + become: true + command: ln -s /snap/bin/certbot /usr/bin/certbot + +- name: "Link certbot snap installation" + when: funkwhwale_nginx_managed and funkwhale_letsencrypt_enabled become: true - command: certbot-auto --install-only -n -v - name: Create letsencrypt certificate when: funkwhale_nginx_managed and funkwhale_letsencrypt_enabled and not funkwhale_letsencrypt_skip_cert become: true - command: certbot-auto -v -n certonly --nginx -m {{ funkwhale_letsencrypt_email }} --agree-tos -d {{ funkwhale_hostname }} {{ funkwhale_letsencrypt_certbot_flags }} + command: certbot -v -n certonly --nginx -m {{ funkwhale_letsencrypt_email }} --agree-tos -d {{ funkwhale_hostname }} {{ funkwhale_letsencrypt_certbot_flags }} args: creates: /etc/letsencrypt/live/{{ funkwhale_hostname }} @@ -40,7 +51,7 @@ cron: name: funkwhale_letsencrypt_renewal special_time: weekly - job: /usr/local/bin/certbot-auto -v -n certonly --nginx -m {{ funkwhale_letsencrypt_email }} --agree-tos -d {{ funkwhale_hostname }} {{ funkwhale_letsencrypt_certbot_flags }} + job: /usr/bin/certbot -v -n certonly --nginx -m {{ funkwhale_letsencrypt_email }} --agree-tos -d {{ funkwhale_hostname }} {{ funkwhale_letsencrypt_certbot_flags }} - name: "Create funkwhale proxy file" when: funkwhale_nginx_managed diff --git a/tasks/packages.yml b/tasks/packages.yml index c6113a29c2231a3d4e1d757917c7daa5b3ff6df9..6412b36830acfdaca5b702d955ca6bb6abc03f65 100644 --- a/tasks/packages.yml +++ b/tasks/packages.yml @@ -25,3 +25,4 @@ - "curl" - "dbus" - "virtualenv" + - "snapd"