diff --git a/defaults/main.yml b/defaults/main.yml
index 2c5973ea5d2fa944ba04ea18ab55c19893c56f9d..bf7014703441227204b7dfbe8bec3c81a158dea6 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -6,3 +6,4 @@ keycloak_url: http://downloads.jboss.org/keycloak/{{ keycloak_version }}/{{keycl
 keycloak_jboss_home: "{{ keycloak_dir }}/keycloak-{{ keycloak_version }}"
 keycloak_log_dir: "{{ keycloak_jboss_home }}/standalone/log"
 keycloak_proxy_address_forwarding: "false"
+keycloak_custom_themes: []
diff --git a/tasks/main.yml b/tasks/main.yml
index f396a538e7dc0123deaab4d9755908aadf2bf8af..81e605d2b3b84212e3ceb549df52323de0dabbda 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -148,3 +148,10 @@
     creates: "{{ keycloak_jboss_home }}/standalone/configuration/keycloak-add-user.json"
   notify: restart keycloak
   when: not keycloak_directory.stat.exists
+
+- name: Install custom keycloak themes
+  git:
+    dest: "{{ keycloak_jboss_home }}/themes/{{ item.name }}"
+    repo: "{{ item.repository }}"
+  with_items: "{{ keycloak_custom_themes }}"
+  notify: restart keycloak