diff --git a/tasks/nginx.yml b/tasks/nginx.yml
index 3dbe81c53c095973bee95e632eb9716e6ea3955d..73c5da17b428f440088c80ccf0adc0f09eb5da3c 100644
--- a/tasks/nginx.yml
+++ b/tasks/nginx.yml
@@ -14,23 +14,41 @@
     state: started
 
 # from https://gist.github.com/mattiaslundberg/ba214a35060d3c8603e9b1ec8627d349
-- name: "Download certbot-auto"
+
+- name: Install snapd
+  when: funkwhale_nginx_managed and funkwhale_letsencrypt_enabled
+  become: true
+  package:
+    name: snapd
+    state: present
+
+- name: Prepare snapd for certbot installation
+  when: funkwhale_nginx_managed and funkwhale_letsencrypt_enabled
+  become: true
+  command: snap install core
+  
+- name: Refresh core snap before installing certbot
+  when: funkwhale_nginx_managed and funkwhale_letsencrypt_enabled
+  become: true
+  command: snap refresh core
+  
+- name: Install certbot snap
   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 --classic certbot
 
-- name: "Install certbot using certbot-auto"
+- name: Link certbot snap installation
   when: funkwhale_nginx_managed and funkwhale_letsencrypt_enabled
   become: true
-  command: certbot-auto --install-only -n -v
+  file: 
+    src: /snap/bin/certbot
+    dest: /usr/bin/certbot
+    state: link
 
 - 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 +58,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