diff --git a/plays/logos.yml b/plays/logos.yml
new file mode 100755
index 0000000000000000000000000000000000000000..bfe4b88aae3c8d55939bfb2d69ede5a46ff49a65
--- /dev/null
+++ b/plays/logos.yml
@@ -0,0 +1,5 @@
+#!/usr/bin/env ansible-playbook
+---
+- hosts: server
+  roles:
+    - logos
diff --git a/files/crans_favicon.ico b/roles/logos/files/crans_favicon.ico
similarity index 100%
rename from files/crans_favicon.ico
rename to roles/logos/files/crans_favicon.ico
diff --git a/files/crans_logo_dark.png b/roles/logos/files/crans_logo_dark.png
similarity index 100%
rename from files/crans_logo_dark.png
rename to roles/logos/files/crans_logo_dark.png
diff --git a/files/crans_logo_dark.svg b/roles/logos/files/crans_logo_dark.svg
similarity index 100%
rename from files/crans_logo_dark.svg
rename to roles/logos/files/crans_logo_dark.svg
diff --git a/files/crans_logo_white.png b/roles/logos/files/crans_logo_white.png
similarity index 100%
rename from files/crans_logo_white.png
rename to roles/logos/files/crans_logo_white.png
diff --git a/files/crans_logo_white.svg b/roles/logos/files/crans_logo_white.svg
similarity index 100%
rename from files/crans_logo_white.svg
rename to roles/logos/files/crans_logo_white.svg
diff --git a/roles/logos/tasks/main.yml b/roles/logos/tasks/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..a4965c1e95133ec2af6cc4363b6e869b669de2f8
--- /dev/null
+++ b/roles/logos/tasks/main.yml
@@ -0,0 +1,9 @@
+---
+- name: Deploy custom logos
+  copy:
+    src: "{{ item.which }}"
+    dest: "{{ item.where }}"
+    owner: "{{ item.owner|default('root') }}"
+    group: "{{ item.group|default('root') }}"
+    mode: "{{ item.mode|default('0644') }}"
+  loop: "{{ logos|default([]) }}"