diff --git a/playbooks/tasks/upgrade-servers.yml b/playbooks/tasks/upgrade-servers.yml
index f51c53bcf8ce9eea9c2d32fc50170fd8748f60cf..dd4d8f320c3b87c00941f82d3572ce99d08f4d15 100644
--- a/playbooks/tasks/upgrade-servers.yml
+++ b/playbooks/tasks/upgrade-servers.yml
@@ -1,5 +1,22 @@
+- name: Upgrade, reboot and health-check accounts.archlinux.org
+  hosts: accounts.archlinux.org
+  max_fail_percentage: 0
+  gather_facts: false
+
+  tasks:
+    - name: Upgrade and reboot
+      include_tasks: include/upgrade-server.yml
+
+    - name: Wait for Keycloak to become available
+      uri: url=https://{{ inventory_hostname }}/metrics
+      register: result
+      until: result.status == 200
+      # retry for 5 minutes after boot
+      retries: 30
+      delay: 10
+
 - name: Upgrade and reboot all hetzner servers
-  hosts: all,!kape_servers,!equinix_metal
+  hosts: all,!accounts.archlinux.org,!kape_servers,!equinix_metal
   max_fail_percentage: 0
   serial: 20%
   gather_facts: false