diff --git a/group_vars/crans_server/vars.yml b/group_vars/crans_server/vars.yml
index 136ce4abe79c7efbfc9d604e595077dbfd529865..9d0200955d9f051a4bbdee5a0f0620ad2c2d0648 100644
--- a/group_vars/crans_server/vars.yml
+++ b/group_vars/crans_server/vars.yml
@@ -4,6 +4,8 @@ ldap:
   base: "dc=crans,dc=org"
 
 
-# Parameters for debian mirror
+# Parameters for debian and ubuntu mirror
 debian_mirror: http://mirror.adm.crans.org/debian
+ubuntu_mirror: http://mirror.adm.crans.org/ubuntu
 debian_components: main non-free
+ubuntu_components: main restricted universe multiverse
diff --git a/hosts b/hosts
index 09ffad9e20b63832ceacc1ac163717e610200fd3..a7ef2273e59b60f989712f7941e9db4aae4ddc08 100644
--- a/hosts
+++ b/hosts
@@ -110,6 +110,7 @@ jitsi.adm.crans.org
 kenobi.adm.crans.org
 roundcube.adm.crans.org
 horde.adm.crans.org
+bigbluebutton.adm.crans.org
 
 [ovh_physical]
 sputnik.adm.crans.org
diff --git a/roles/debian-apt-sources/templates/apt/sources.list.j2 b/roles/debian-apt-sources/templates/apt/sources.list.j2
index 25bf63871c2ee6959746c4ffaa8ef01b53328e33..dde04587e95c9def973110532b90929c4218d763 100644
--- a/roles/debian-apt-sources/templates/apt/sources.list.j2
+++ b/roles/debian-apt-sources/templates/apt/sources.list.j2
@@ -1,5 +1,6 @@
 {{ ansible_header | comment }}
 
+{% if ansible_lsb.id == "Debian" %}
 # Mises à jour de sécurité
 deb     {{ debian_mirror }}-security {{ ansible_lsb.codename }}/updates {{ debian_components }}
 
@@ -8,3 +9,13 @@ deb     {{ debian_mirror }} {{ ansible_lsb.codename }} {{ debian_components }}
 
 # Dépôt pour mises à jour fréquentes (volatile)
 deb     {{ debian_mirror }} {{ ansible_lsb.codename }}-updates {{ debian_components }}
+{% elif ansible_lsb.id == "Ubuntu" %}
+# Mises à jour de sécurité
+deb     {{ ubuntu_mirror }} {{ ansible_lsb.codename }}-security {{ ubuntu_components }}
+
+# Dépôt classique
+deb     {{ ubuntu_mirror }} {{ ansible_lsb.codename }} {{ ubuntu_components }}
+
+# Dépôt pour mises à jour fréquentes (volatile)
+deb     {{ ubuntu_mirror }} {{ ansible_lsb.codename }}-updates {{ ubuntu_components }}
+{% endif %}
diff --git a/roles/prometheus-node-exporter/tasks/main.yml b/roles/prometheus-node-exporter/tasks/main.yml
index 31460b8f8ed62e57fa5fae8c3471681cfdf19b96..b324f2fbc9b0cd5e66cae74f4ca320bf461d7272 100644
--- a/roles/prometheus-node-exporter/tasks/main.yml
+++ b/roles/prometheus-node-exporter/tasks/main.yml
@@ -8,7 +8,7 @@
   retries: 3
   until: apt_result is succeeded
   when:
-    - ansible_lsb.codename == 'buster'
+    - ansible_lsb.codename != 'stretch'
 
 # Prometheus 2 node is in stretch-backports
 - name: Install Prometheus node-exporter (stretch-backports)
@@ -46,3 +46,15 @@
     owner: root
     group: root
     mode: 0755
+  when: ansible_lsb.id == 'Debian'
+
+# Install new APT textfile collector, it might be upstreamed one day
+# https://github.com/prometheus-community/node-exporter-textfile-collector-scripts/pull/35
+- name: Patch APT textfile collector
+  copy:
+    src: apt.sh
+    dest: /usr/share/prometheus-node-exporter-collectors/apt.sh
+    owner: root
+    group: root
+    mode: 0755
+  when: ansible_lsb.id == 'Ubuntu'