diff --git a/.gitignore b/.gitignore
index 5c121558854ec80809b4f05202f1df287df17fed..7da7cb493d13a09a42eb55e5e9a0733f9f23f234 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,3 +24,9 @@ instance
 
 # Environment files (might contain secrets)
 .env
+
+# weird macOS files (maximum compatibility)
+.DS_Store
+._.DS_Store
+**/.DS_Store
+**/._.DS_Store
diff --git a/portal/static/img/portal.png b/portal/static/img/portal.png
new file mode 100644
index 0000000000000000000000000000000000000000..af8c3ffb765fc0cde766aa9fcd27171b1fca893e
Binary files /dev/null and b/portal/static/img/portal.png differ
diff --git a/portal/templates/index.html b/portal/templates/index.html
index 56efb7fa5fbabc7f4b15ea9a9b57e0cb2afad1d1..ff8e89bde2d3d87a3e94ebbee956b6ffc19e624d 100644
--- a/portal/templates/index.html
+++ b/portal/templates/index.html
@@ -10,7 +10,11 @@
         />
         <link
             rel="icon"
-            href="{{ url_for('static', filename='img/portal.svg') }}"
+            href="{{ url_for('static', filename='static/img/portal.svg') }}"
+        />
+        <link
+            rel="apple-touch-icon"
+            href="{{ url_for('static', filename='static/img/portal.png') }}"
         />
     </head>