diff --git a/controller/assets/README.md b/controller/assets/README.md
new file mode 100755
index 0000000..968a5f3
--- /dev/null
+++ b/controller/assets/README.md
@@ -0,0 +1,31 @@
+# App Assets
+
+This directory contains logos and screenshots for the dashboard.
+They are baked into the Docker image at build time.
+
+## Naming convention
+
+Files must follow the felhom.eu website convention:
+
+- `{slug}-logo.svg` — App logo (SVG preferred, displayed on dark background)
+- `{slug}-logo.png` — App logo fallback (PNG, for apps without SVG)
+- `{slug}-screenshot-1.webp` — First screenshot
+- `{slug}-screenshot-2.webp` — Second screenshot (and so on)
+
+The dashboard tries SVG first, falls back to PNG if not found.
+
+Example:
+```
+paperless-ngx-logo.svg
+paperless-ngx-screenshot-1.webp
+adventurelog-logo.png
+adventurelog-screenshot-1.webp
+```
+
+## Syncing from felhom.eu website
+
+Run `make sync-assets` to copy assets from the felhom.eu website repo.
+This expects the website files to be available at `../felhom.eu/website/assets/`
+(relative to this repo), or set `WEBSITE_ASSETS_DIR` to override.
+
+Alternatively, copy files manually from FileBrowser at https://felhom.eu.
diff --git a/controller/assets/actualbudget-logo.svg b/controller/assets/actualbudget-logo.svg
new file mode 100644
index 0000000..a21388f
--- /dev/null
+++ b/controller/assets/actualbudget-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/actualbudget-screenshot-1.webp b/controller/assets/actualbudget-screenshot-1.webp
new file mode 100644
index 0000000..371c45a
Binary files /dev/null and b/controller/assets/actualbudget-screenshot-1.webp differ
diff --git a/controller/assets/actualbudget-screenshot-2.webp b/controller/assets/actualbudget-screenshot-2.webp
new file mode 100644
index 0000000..d883fa5
Binary files /dev/null and b/controller/assets/actualbudget-screenshot-2.webp differ
diff --git a/controller/assets/actualbudget-screenshot-3.webp b/controller/assets/actualbudget-screenshot-3.webp
new file mode 100644
index 0000000..b2dd5e9
Binary files /dev/null and b/controller/assets/actualbudget-screenshot-3.webp differ
diff --git a/controller/assets/adventurelog-logo.png b/controller/assets/adventurelog-logo.png
new file mode 100644
index 0000000..956ae3d
Binary files /dev/null and b/controller/assets/adventurelog-logo.png differ
diff --git a/controller/assets/adventurelog-screenshot-1.webp b/controller/assets/adventurelog-screenshot-1.webp
new file mode 100644
index 0000000..4402c53
Binary files /dev/null and b/controller/assets/adventurelog-screenshot-1.webp differ
diff --git a/controller/assets/adventurelog-screenshot-2.webp b/controller/assets/adventurelog-screenshot-2.webp
new file mode 100644
index 0000000..00aabdc
Binary files /dev/null and b/controller/assets/adventurelog-screenshot-2.webp differ
diff --git a/controller/assets/adventurelog-screenshot-3.webp b/controller/assets/adventurelog-screenshot-3.webp
new file mode 100644
index 0000000..c211a56
Binary files /dev/null and b/controller/assets/adventurelog-screenshot-3.webp differ
diff --git a/controller/assets/adventurelog-screenshot-4.webp b/controller/assets/adventurelog-screenshot-4.webp
new file mode 100644
index 0000000..0688d59
Binary files /dev/null and b/controller/assets/adventurelog-screenshot-4.webp differ
diff --git a/controller/assets/adventurelog-screenshot-5.webp b/controller/assets/adventurelog-screenshot-5.webp
new file mode 100644
index 0000000..eb1a7f6
Binary files /dev/null and b/controller/assets/adventurelog-screenshot-5.webp differ
diff --git a/controller/assets/audiobookshelf-logo.svg b/controller/assets/audiobookshelf-logo.svg
new file mode 100644
index 0000000..a89b499
--- /dev/null
+++ b/controller/assets/audiobookshelf-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/audiobookshelf-screenshot-1.webp b/controller/assets/audiobookshelf-screenshot-1.webp
new file mode 100644
index 0000000..0967d93
Binary files /dev/null and b/controller/assets/audiobookshelf-screenshot-1.webp differ
diff --git a/controller/assets/audiobookshelf-screenshot-2.webp b/controller/assets/audiobookshelf-screenshot-2.webp
new file mode 100644
index 0000000..acc2feb
Binary files /dev/null and b/controller/assets/audiobookshelf-screenshot-2.webp differ
diff --git a/controller/assets/audiobookshelf-screenshot-3.webp b/controller/assets/audiobookshelf-screenshot-3.webp
new file mode 100644
index 0000000..3fa36d9
Binary files /dev/null and b/controller/assets/audiobookshelf-screenshot-3.webp differ
diff --git a/controller/assets/audiobookshelf-screenshot-4.webp b/controller/assets/audiobookshelf-screenshot-4.webp
new file mode 100644
index 0000000..fd5d38f
Binary files /dev/null and b/controller/assets/audiobookshelf-screenshot-4.webp differ
diff --git a/controller/assets/bentopdf-logo.svg b/controller/assets/bentopdf-logo.svg
new file mode 100644
index 0000000..7e480c9
--- /dev/null
+++ b/controller/assets/bentopdf-logo.svg
@@ -0,0 +1,8 @@
+
diff --git a/controller/assets/bentopdf-screenshot-1.webp b/controller/assets/bentopdf-screenshot-1.webp
new file mode 100644
index 0000000..f547fe3
Binary files /dev/null and b/controller/assets/bentopdf-screenshot-1.webp differ
diff --git a/controller/assets/bentopdf-screenshot-2.webp b/controller/assets/bentopdf-screenshot-2.webp
new file mode 100644
index 0000000..7b13898
Binary files /dev/null and b/controller/assets/bentopdf-screenshot-2.webp differ
diff --git a/controller/assets/bookstack-logo.svg b/controller/assets/bookstack-logo.svg
new file mode 100644
index 0000000..969e416
--- /dev/null
+++ b/controller/assets/bookstack-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/bookstack-screenshot-1.webp b/controller/assets/bookstack-screenshot-1.webp
new file mode 100644
index 0000000..d72790e
Binary files /dev/null and b/controller/assets/bookstack-screenshot-1.webp differ
diff --git a/controller/assets/bookstack-screenshot-2.webp b/controller/assets/bookstack-screenshot-2.webp
new file mode 100644
index 0000000..0aebfed
Binary files /dev/null and b/controller/assets/bookstack-screenshot-2.webp differ
diff --git a/controller/assets/bookstack-screenshot-3.webp b/controller/assets/bookstack-screenshot-3.webp
new file mode 100644
index 0000000..2e6419d
Binary files /dev/null and b/controller/assets/bookstack-screenshot-3.webp differ
diff --git a/controller/assets/calcom-logo.svg b/controller/assets/calcom-logo.svg
new file mode 100644
index 0000000..a24d70a
--- /dev/null
+++ b/controller/assets/calcom-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/calcom-screenshot-1.webp b/controller/assets/calcom-screenshot-1.webp
new file mode 100644
index 0000000..5a5e835
Binary files /dev/null and b/controller/assets/calcom-screenshot-1.webp differ
diff --git a/controller/assets/calcom-screenshot-2.webp b/controller/assets/calcom-screenshot-2.webp
new file mode 100644
index 0000000..7d0a25f
Binary files /dev/null and b/controller/assets/calcom-screenshot-2.webp differ
diff --git a/controller/assets/calcom-screenshot-3.webp b/controller/assets/calcom-screenshot-3.webp
new file mode 100644
index 0000000..8cd93b9
Binary files /dev/null and b/controller/assets/calcom-screenshot-3.webp differ
diff --git a/controller/assets/calcom-screenshot-4.webp b/controller/assets/calcom-screenshot-4.webp
new file mode 100644
index 0000000..241ae9b
Binary files /dev/null and b/controller/assets/calcom-screenshot-4.webp differ
diff --git a/controller/assets/calcom-screenshot-5.webp b/controller/assets/calcom-screenshot-5.webp
new file mode 100644
index 0000000..e81791a
Binary files /dev/null and b/controller/assets/calcom-screenshot-5.webp differ
diff --git a/controller/assets/calcom-screenshot-6.webp b/controller/assets/calcom-screenshot-6.webp
new file mode 100644
index 0000000..f535461
Binary files /dev/null and b/controller/assets/calcom-screenshot-6.webp differ
diff --git a/controller/assets/calibre-web-logo.svg b/controller/assets/calibre-web-logo.svg
new file mode 100644
index 0000000..fc15c65
--- /dev/null
+++ b/controller/assets/calibre-web-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/calibre-web-screenshot-1.webp b/controller/assets/calibre-web-screenshot-1.webp
new file mode 100644
index 0000000..fa509d3
Binary files /dev/null and b/controller/assets/calibre-web-screenshot-1.webp differ
diff --git a/controller/assets/calibre-web-screenshot-2.webp b/controller/assets/calibre-web-screenshot-2.webp
new file mode 100644
index 0000000..9ac003b
Binary files /dev/null and b/controller/assets/calibre-web-screenshot-2.webp differ
diff --git a/controller/assets/checkmark-green.svg b/controller/assets/checkmark-green.svg
new file mode 100644
index 0000000..19e0bd7
--- /dev/null
+++ b/controller/assets/checkmark-green.svg
@@ -0,0 +1,2 @@
+
diff --git a/controller/assets/checkmark-yellow.svg b/controller/assets/checkmark-yellow.svg
new file mode 100644
index 0000000..39540e2
--- /dev/null
+++ b/controller/assets/checkmark-yellow.svg
@@ -0,0 +1,2 @@
+
diff --git a/controller/assets/claper-logo.svg b/controller/assets/claper-logo.svg
new file mode 100644
index 0000000..4527934
--- /dev/null
+++ b/controller/assets/claper-logo.svg
@@ -0,0 +1,13 @@
+
diff --git a/controller/assets/claper-screenshot-1.webp b/controller/assets/claper-screenshot-1.webp
new file mode 100644
index 0000000..b855ed8
Binary files /dev/null and b/controller/assets/claper-screenshot-1.webp differ
diff --git a/controller/assets/claper-screenshot-2.webp b/controller/assets/claper-screenshot-2.webp
new file mode 100644
index 0000000..c29a350
Binary files /dev/null and b/controller/assets/claper-screenshot-2.webp differ
diff --git a/controller/assets/claper-screenshot-3.webp b/controller/assets/claper-screenshot-3.webp
new file mode 100644
index 0000000..521b5e4
Binary files /dev/null and b/controller/assets/claper-screenshot-3.webp differ
diff --git a/controller/assets/claper-screenshot-4.webp b/controller/assets/claper-screenshot-4.webp
new file mode 100644
index 0000000..917e740
Binary files /dev/null and b/controller/assets/claper-screenshot-4.webp differ
diff --git a/controller/assets/claper-screenshot-5.webp b/controller/assets/claper-screenshot-5.webp
new file mode 100644
index 0000000..635c61a
Binary files /dev/null and b/controller/assets/claper-screenshot-5.webp differ
diff --git a/controller/assets/code-server-logo.svg b/controller/assets/code-server-logo.svg
new file mode 100644
index 0000000..693133c
--- /dev/null
+++ b/controller/assets/code-server-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/code-server-screenshot-1.webp b/controller/assets/code-server-screenshot-1.webp
new file mode 100644
index 0000000..cd77ea5
Binary files /dev/null and b/controller/assets/code-server-screenshot-1.webp differ
diff --git a/controller/assets/code-server-screenshot-2.webp b/controller/assets/code-server-screenshot-2.webp
new file mode 100644
index 0000000..d136d89
Binary files /dev/null and b/controller/assets/code-server-screenshot-2.webp differ
diff --git a/controller/assets/crafty-logo.png b/controller/assets/crafty-logo.png
new file mode 100644
index 0000000..3406977
Binary files /dev/null and b/controller/assets/crafty-logo.png differ
diff --git a/controller/assets/crafty-screenshot-1.webp b/controller/assets/crafty-screenshot-1.webp
new file mode 100644
index 0000000..fd16107
Binary files /dev/null and b/controller/assets/crafty-screenshot-1.webp differ
diff --git a/controller/assets/crafty-screenshot-2.webp b/controller/assets/crafty-screenshot-2.webp
new file mode 100644
index 0000000..a0700d7
Binary files /dev/null and b/controller/assets/crafty-screenshot-2.webp differ
diff --git a/controller/assets/crafty-screenshot-3.webp b/controller/assets/crafty-screenshot-3.webp
new file mode 100644
index 0000000..927551a
Binary files /dev/null and b/controller/assets/crafty-screenshot-3.webp differ
diff --git a/controller/assets/emby-logo.svg b/controller/assets/emby-logo.svg
new file mode 100644
index 0000000..43ccc64
--- /dev/null
+++ b/controller/assets/emby-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/emby-screenshot-1.webp b/controller/assets/emby-screenshot-1.webp
new file mode 100644
index 0000000..a1eab5e
Binary files /dev/null and b/controller/assets/emby-screenshot-1.webp differ
diff --git a/controller/assets/emby-screenshot-2.webp b/controller/assets/emby-screenshot-2.webp
new file mode 100644
index 0000000..fa10988
Binary files /dev/null and b/controller/assets/emby-screenshot-2.webp differ
diff --git a/controller/assets/felhom.eu-logo.png b/controller/assets/felhom.eu-logo.png
new file mode 100644
index 0000000..2dc883f
Binary files /dev/null and b/controller/assets/felhom.eu-logo.png differ
diff --git a/controller/assets/filebrowser-logo.png b/controller/assets/filebrowser-logo.png
new file mode 100644
index 0000000..8f26819
Binary files /dev/null and b/controller/assets/filebrowser-logo.png differ
diff --git a/controller/assets/filebrowser-logo.svg b/controller/assets/filebrowser-logo.svg
new file mode 100644
index 0000000..68ecb7b
--- /dev/null
+++ b/controller/assets/filebrowser-logo.svg
@@ -0,0 +1,21 @@
+
diff --git a/controller/assets/filebrowser-screenshot-1.webp b/controller/assets/filebrowser-screenshot-1.webp
new file mode 100644
index 0000000..6774a93
Binary files /dev/null and b/controller/assets/filebrowser-screenshot-1.webp differ
diff --git a/controller/assets/filebrowser-screenshot-2.webp b/controller/assets/filebrowser-screenshot-2.webp
new file mode 100644
index 0000000..ecfcc52
Binary files /dev/null and b/controller/assets/filebrowser-screenshot-2.webp differ
diff --git a/controller/assets/ghost-logo.svg b/controller/assets/ghost-logo.svg
new file mode 100644
index 0000000..93000a5
--- /dev/null
+++ b/controller/assets/ghost-logo.svg
@@ -0,0 +1,4 @@
+
diff --git a/controller/assets/ghost-screenshot-1.webp b/controller/assets/ghost-screenshot-1.webp
new file mode 100644
index 0000000..338cc2f
Binary files /dev/null and b/controller/assets/ghost-screenshot-1.webp differ
diff --git a/controller/assets/ghost-screenshot-2.webp b/controller/assets/ghost-screenshot-2.webp
new file mode 100644
index 0000000..d8c95bc
Binary files /dev/null and b/controller/assets/ghost-screenshot-2.webp differ
diff --git a/controller/assets/ghost-screenshot-3.webp b/controller/assets/ghost-screenshot-3.webp
new file mode 100644
index 0000000..0844e2b
Binary files /dev/null and b/controller/assets/ghost-screenshot-3.webp differ
diff --git a/controller/assets/ghost-screenshot-4.webp b/controller/assets/ghost-screenshot-4.webp
new file mode 100644
index 0000000..582afab
Binary files /dev/null and b/controller/assets/ghost-screenshot-4.webp differ
diff --git a/controller/assets/gitea-logo.svg b/controller/assets/gitea-logo.svg
new file mode 100644
index 0000000..4cce797
--- /dev/null
+++ b/controller/assets/gitea-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/gitea-screenshot-1.webp b/controller/assets/gitea-screenshot-1.webp
new file mode 100644
index 0000000..5cd4c99
Binary files /dev/null and b/controller/assets/gitea-screenshot-1.webp differ
diff --git a/controller/assets/gitea-screenshot-2.webp b/controller/assets/gitea-screenshot-2.webp
new file mode 100644
index 0000000..2347ce6
Binary files /dev/null and b/controller/assets/gitea-screenshot-2.webp differ
diff --git a/controller/assets/gitea-screenshot-3.webp b/controller/assets/gitea-screenshot-3.webp
new file mode 100644
index 0000000..f292387
Binary files /dev/null and b/controller/assets/gitea-screenshot-3.webp differ
diff --git a/controller/assets/github.svg b/controller/assets/github.svg
new file mode 100644
index 0000000..b3912d6
--- /dev/null
+++ b/controller/assets/github.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/glance-logo.svg b/controller/assets/glance-logo.svg
new file mode 100644
index 0000000..ed733c3
--- /dev/null
+++ b/controller/assets/glance-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/glance-screenshot-1.webp b/controller/assets/glance-screenshot-1.webp
new file mode 100644
index 0000000..42b506c
Binary files /dev/null and b/controller/assets/glance-screenshot-1.webp differ
diff --git a/controller/assets/glance-screenshot-2.webp b/controller/assets/glance-screenshot-2.webp
new file mode 100644
index 0000000..e592e54
Binary files /dev/null and b/controller/assets/glance-screenshot-2.webp differ
diff --git a/controller/assets/glance-screenshot-3.webp b/controller/assets/glance-screenshot-3.webp
new file mode 100644
index 0000000..bc44e09
Binary files /dev/null and b/controller/assets/glance-screenshot-3.webp differ
diff --git a/controller/assets/glance-screenshot-4.webp b/controller/assets/glance-screenshot-4.webp
new file mode 100644
index 0000000..89cf632
Binary files /dev/null and b/controller/assets/glance-screenshot-4.webp differ
diff --git a/controller/assets/gokapi-logo.png b/controller/assets/gokapi-logo.png
new file mode 100644
index 0000000..9c4a0ef
Binary files /dev/null and b/controller/assets/gokapi-logo.png differ
diff --git a/controller/assets/gokapi-screenshot-1.webp b/controller/assets/gokapi-screenshot-1.webp
new file mode 100644
index 0000000..71fb248
Binary files /dev/null and b/controller/assets/gokapi-screenshot-1.webp differ
diff --git a/controller/assets/grafana-logo.svg b/controller/assets/grafana-logo.svg
new file mode 100644
index 0000000..c838eb5
--- /dev/null
+++ b/controller/assets/grafana-logo.svg
@@ -0,0 +1,4 @@
+
diff --git a/controller/assets/grafana-screenshot-1.webp b/controller/assets/grafana-screenshot-1.webp
new file mode 100644
index 0000000..549b71c
Binary files /dev/null and b/controller/assets/grafana-screenshot-1.webp differ
diff --git a/controller/assets/grafana-screenshot-2.webp b/controller/assets/grafana-screenshot-2.webp
new file mode 100644
index 0000000..c3e8f39
Binary files /dev/null and b/controller/assets/grafana-screenshot-2.webp differ
diff --git a/controller/assets/grafana-screenshot-3.webp b/controller/assets/grafana-screenshot-3.webp
new file mode 100644
index 0000000..91d42cb
Binary files /dev/null and b/controller/assets/grafana-screenshot-3.webp differ
diff --git a/controller/assets/grafana-screenshot-4.webp b/controller/assets/grafana-screenshot-4.webp
new file mode 100644
index 0000000..0da7f23
Binary files /dev/null and b/controller/assets/grafana-screenshot-4.webp differ
diff --git a/controller/assets/grampsweb-logo.png b/controller/assets/grampsweb-logo.png
new file mode 100644
index 0000000..732276b
Binary files /dev/null and b/controller/assets/grampsweb-logo.png differ
diff --git a/controller/assets/grampsweb-screenshot-1.webp b/controller/assets/grampsweb-screenshot-1.webp
new file mode 100644
index 0000000..abb32f3
Binary files /dev/null and b/controller/assets/grampsweb-screenshot-1.webp differ
diff --git a/controller/assets/grampsweb-screenshot-2.webp b/controller/assets/grampsweb-screenshot-2.webp
new file mode 100644
index 0000000..826dbde
Binary files /dev/null and b/controller/assets/grampsweb-screenshot-2.webp differ
diff --git a/controller/assets/grampsweb-screenshot-3.webp b/controller/assets/grampsweb-screenshot-3.webp
new file mode 100644
index 0000000..6d38168
Binary files /dev/null and b/controller/assets/grampsweb-screenshot-3.webp differ
diff --git a/controller/assets/grampsweb-screenshot-4.webp b/controller/assets/grampsweb-screenshot-4.webp
new file mode 100644
index 0000000..22b45ec
Binary files /dev/null and b/controller/assets/grampsweb-screenshot-4.webp differ
diff --git a/controller/assets/homeassistant-logo.svg b/controller/assets/homeassistant-logo.svg
new file mode 100644
index 0000000..cf2a613
--- /dev/null
+++ b/controller/assets/homeassistant-logo.svg
@@ -0,0 +1,4 @@
+
diff --git a/controller/assets/homeassistant-screenshot-1.webp b/controller/assets/homeassistant-screenshot-1.webp
new file mode 100644
index 0000000..77a0a44
Binary files /dev/null and b/controller/assets/homeassistant-screenshot-1.webp differ
diff --git a/controller/assets/homeassistant-screenshot-2.webp b/controller/assets/homeassistant-screenshot-2.webp
new file mode 100644
index 0000000..04cd49f
Binary files /dev/null and b/controller/assets/homeassistant-screenshot-2.webp differ
diff --git a/controller/assets/homeassistant-screenshot-3.webp b/controller/assets/homeassistant-screenshot-3.webp
new file mode 100644
index 0000000..c7a0ddf
Binary files /dev/null and b/controller/assets/homeassistant-screenshot-3.webp differ
diff --git a/controller/assets/homeassistant-screenshot-4.webp b/controller/assets/homeassistant-screenshot-4.webp
new file mode 100644
index 0000000..bf59b7d
Binary files /dev/null and b/controller/assets/homeassistant-screenshot-4.webp differ
diff --git a/controller/assets/homeassistant-screenshot-5.webp b/controller/assets/homeassistant-screenshot-5.webp
new file mode 100644
index 0000000..22d4346
Binary files /dev/null and b/controller/assets/homeassistant-screenshot-5.webp differ
diff --git a/controller/assets/homeassistant-screenshot-6.webp b/controller/assets/homeassistant-screenshot-6.webp
new file mode 100644
index 0000000..4b34f57
Binary files /dev/null and b/controller/assets/homeassistant-screenshot-6.webp differ
diff --git a/controller/assets/homepage-logo.svg b/controller/assets/homepage-logo.svg
new file mode 100644
index 0000000..26c9eda
--- /dev/null
+++ b/controller/assets/homepage-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/homepage-screenshot-1.webp b/controller/assets/homepage-screenshot-1.webp
new file mode 100644
index 0000000..b8ee7bd
Binary files /dev/null and b/controller/assets/homepage-screenshot-1.webp differ
diff --git a/controller/assets/homepage-screenshot-2.webp b/controller/assets/homepage-screenshot-2.webp
new file mode 100644
index 0000000..f9a88be
Binary files /dev/null and b/controller/assets/homepage-screenshot-2.webp differ
diff --git a/controller/assets/homepage-screenshot-3.webp b/controller/assets/homepage-screenshot-3.webp
new file mode 100644
index 0000000..8e2c89f
Binary files /dev/null and b/controller/assets/homepage-screenshot-3.webp differ
diff --git a/controller/assets/homepage-screenshot-4.webp b/controller/assets/homepage-screenshot-4.webp
new file mode 100644
index 0000000..0f018e0
Binary files /dev/null and b/controller/assets/homepage-screenshot-4.webp differ
diff --git a/controller/assets/immich-logo.svg b/controller/assets/immich-logo.svg
new file mode 100644
index 0000000..4dee35b
--- /dev/null
+++ b/controller/assets/immich-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/immich-screenshot-1.webp b/controller/assets/immich-screenshot-1.webp
new file mode 100644
index 0000000..bf9fe37
Binary files /dev/null and b/controller/assets/immich-screenshot-1.webp differ
diff --git a/controller/assets/immich-screenshot-2.webp b/controller/assets/immich-screenshot-2.webp
new file mode 100644
index 0000000..74147f7
Binary files /dev/null and b/controller/assets/immich-screenshot-2.webp differ
diff --git a/controller/assets/immich-screenshot-3.webp b/controller/assets/immich-screenshot-3.webp
new file mode 100644
index 0000000..7522e61
Binary files /dev/null and b/controller/assets/immich-screenshot-3.webp differ
diff --git a/controller/assets/immich-screenshot-4.webp b/controller/assets/immich-screenshot-4.webp
new file mode 100644
index 0000000..8c54e1b
Binary files /dev/null and b/controller/assets/immich-screenshot-4.webp differ
diff --git a/controller/assets/jellyfin-logo.svg b/controller/assets/jellyfin-logo.svg
new file mode 100644
index 0000000..0ea38d0
--- /dev/null
+++ b/controller/assets/jellyfin-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/jellyfin-screenshot-1.webp b/controller/assets/jellyfin-screenshot-1.webp
new file mode 100644
index 0000000..81b827b
Binary files /dev/null and b/controller/assets/jellyfin-screenshot-1.webp differ
diff --git a/controller/assets/jellyfin-screenshot-2.webp b/controller/assets/jellyfin-screenshot-2.webp
new file mode 100644
index 0000000..3ccab9e
Binary files /dev/null and b/controller/assets/jellyfin-screenshot-2.webp differ
diff --git a/controller/assets/kimai-logo.png b/controller/assets/kimai-logo.png
new file mode 100644
index 0000000..907dee9
Binary files /dev/null and b/controller/assets/kimai-logo.png differ
diff --git a/controller/assets/kimai-screenshot-1.webp b/controller/assets/kimai-screenshot-1.webp
new file mode 100644
index 0000000..ea64c82
Binary files /dev/null and b/controller/assets/kimai-screenshot-1.webp differ
diff --git a/controller/assets/kimai-screenshot-2.webp b/controller/assets/kimai-screenshot-2.webp
new file mode 100644
index 0000000..0494fb0
Binary files /dev/null and b/controller/assets/kimai-screenshot-2.webp differ
diff --git a/controller/assets/kimai-screenshot-3.webp b/controller/assets/kimai-screenshot-3.webp
new file mode 100644
index 0000000..774d29e
Binary files /dev/null and b/controller/assets/kimai-screenshot-3.webp differ
diff --git a/controller/assets/kimai-screenshot-4.webp b/controller/assets/kimai-screenshot-4.webp
new file mode 100644
index 0000000..3404812
Binary files /dev/null and b/controller/assets/kimai-screenshot-4.webp differ
diff --git a/controller/assets/kimai-screenshot-5.webp b/controller/assets/kimai-screenshot-5.webp
new file mode 100644
index 0000000..45e0b8b
Binary files /dev/null and b/controller/assets/kimai-screenshot-5.webp differ
diff --git a/controller/assets/komga-logo.svg b/controller/assets/komga-logo.svg
new file mode 100644
index 0000000..5b8093b
--- /dev/null
+++ b/controller/assets/komga-logo.svg
@@ -0,0 +1,195 @@
+
+
diff --git a/controller/assets/komga-screenshot-1.webp b/controller/assets/komga-screenshot-1.webp
new file mode 100644
index 0000000..8f8590a
Binary files /dev/null and b/controller/assets/komga-screenshot-1.webp differ
diff --git a/controller/assets/logo.png b/controller/assets/logo.png
new file mode 100644
index 0000000..122d590
Binary files /dev/null and b/controller/assets/logo.png differ
diff --git a/controller/assets/logo.svg b/controller/assets/logo.svg
new file mode 100644
index 0000000..7dee180
--- /dev/null
+++ b/controller/assets/logo.svg
@@ -0,0 +1,232 @@
+
+
diff --git a/controller/assets/n8n-logo.svg b/controller/assets/n8n-logo.svg
new file mode 100644
index 0000000..e1265cd
--- /dev/null
+++ b/controller/assets/n8n-logo.svg
@@ -0,0 +1,4 @@
+
diff --git a/controller/assets/n8n-screenshot-1.webp b/controller/assets/n8n-screenshot-1.webp
new file mode 100644
index 0000000..881c479
Binary files /dev/null and b/controller/assets/n8n-screenshot-1.webp differ
diff --git a/controller/assets/n8n-screenshot-2.webp b/controller/assets/n8n-screenshot-2.webp
new file mode 100644
index 0000000..aed895d
Binary files /dev/null and b/controller/assets/n8n-screenshot-2.webp differ
diff --git a/controller/assets/n8n-screenshot-3.webp b/controller/assets/n8n-screenshot-3.webp
new file mode 100644
index 0000000..32eb6bb
Binary files /dev/null and b/controller/assets/n8n-screenshot-3.webp differ
diff --git a/controller/assets/n8n-screenshot-4.webp b/controller/assets/n8n-screenshot-4.webp
new file mode 100644
index 0000000..2e46505
Binary files /dev/null and b/controller/assets/n8n-screenshot-4.webp differ
diff --git a/controller/assets/n8n-screenshot-5.webp b/controller/assets/n8n-screenshot-5.webp
new file mode 100644
index 0000000..c13f447
Binary files /dev/null and b/controller/assets/n8n-screenshot-5.webp differ
diff --git a/controller/assets/navidrome-logo.svg b/controller/assets/navidrome-logo.svg
new file mode 100644
index 0000000..1b52076
--- /dev/null
+++ b/controller/assets/navidrome-logo.svg
@@ -0,0 +1,57 @@
+
+
+
diff --git a/controller/assets/navidrome-screenshot-1.webp b/controller/assets/navidrome-screenshot-1.webp
new file mode 100644
index 0000000..463ac76
Binary files /dev/null and b/controller/assets/navidrome-screenshot-1.webp differ
diff --git a/controller/assets/navidrome-screenshot-2.webp b/controller/assets/navidrome-screenshot-2.webp
new file mode 100644
index 0000000..5f9ce76
Binary files /dev/null and b/controller/assets/navidrome-screenshot-2.webp differ
diff --git a/controller/assets/nextcloud-logo.svg b/controller/assets/nextcloud-logo.svg
new file mode 100644
index 0000000..066b250
--- /dev/null
+++ b/controller/assets/nextcloud-logo.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/controller/assets/nextcloud-screenshot-1.webp b/controller/assets/nextcloud-screenshot-1.webp
new file mode 100644
index 0000000..0d349e1
Binary files /dev/null and b/controller/assets/nextcloud-screenshot-1.webp differ
diff --git a/controller/assets/nextcloud-screenshot-2.webp b/controller/assets/nextcloud-screenshot-2.webp
new file mode 100644
index 0000000..0eb7d9a
Binary files /dev/null and b/controller/assets/nextcloud-screenshot-2.webp differ
diff --git a/controller/assets/nextcloud-screenshot-3.webp b/controller/assets/nextcloud-screenshot-3.webp
new file mode 100644
index 0000000..7613439
Binary files /dev/null and b/controller/assets/nextcloud-screenshot-3.webp differ
diff --git a/controller/assets/og-image.svg b/controller/assets/og-image.svg
new file mode 100644
index 0000000..15a8221
--- /dev/null
+++ b/controller/assets/og-image.svg
@@ -0,0 +1,313 @@
+
+
diff --git a/controller/assets/og-image_wide.svg b/controller/assets/og-image_wide.svg
new file mode 100644
index 0000000..0c9b5ba
--- /dev/null
+++ b/controller/assets/og-image_wide.svg
@@ -0,0 +1,326 @@
+
+
diff --git a/controller/assets/onlyoffice-logo.svg b/controller/assets/onlyoffice-logo.svg
new file mode 100644
index 0000000..06cf12c
--- /dev/null
+++ b/controller/assets/onlyoffice-logo.svg
@@ -0,0 +1,4 @@
+
diff --git a/controller/assets/onlyoffice-screenshot-1.webp b/controller/assets/onlyoffice-screenshot-1.webp
new file mode 100644
index 0000000..0d4fa0d
Binary files /dev/null and b/controller/assets/onlyoffice-screenshot-1.webp differ
diff --git a/controller/assets/onlyoffice-screenshot-2.webp b/controller/assets/onlyoffice-screenshot-2.webp
new file mode 100644
index 0000000..b754526
Binary files /dev/null and b/controller/assets/onlyoffice-screenshot-2.webp differ
diff --git a/controller/assets/onlyoffice-screenshot-3.webp b/controller/assets/onlyoffice-screenshot-3.webp
new file mode 100644
index 0000000..0ff7378
Binary files /dev/null and b/controller/assets/onlyoffice-screenshot-3.webp differ
diff --git a/controller/assets/onlyoffice-screenshot-4.webp b/controller/assets/onlyoffice-screenshot-4.webp
new file mode 100644
index 0000000..81a4012
Binary files /dev/null and b/controller/assets/onlyoffice-screenshot-4.webp differ
diff --git a/controller/assets/onlyoffice-screenshot-5.webp b/controller/assets/onlyoffice-screenshot-5.webp
new file mode 100644
index 0000000..3052fe2
Binary files /dev/null and b/controller/assets/onlyoffice-screenshot-5.webp differ
diff --git a/controller/assets/onlyoffice-screenshot-6.webp b/controller/assets/onlyoffice-screenshot-6.webp
new file mode 100644
index 0000000..466539b
Binary files /dev/null and b/controller/assets/onlyoffice-screenshot-6.webp differ
diff --git a/controller/assets/onlyoffice-screenshot-7.webp b/controller/assets/onlyoffice-screenshot-7.webp
new file mode 100644
index 0000000..0e4cb27
Binary files /dev/null and b/controller/assets/onlyoffice-screenshot-7.webp differ
diff --git a/controller/assets/onlyoffice-screenshot-8.webp b/controller/assets/onlyoffice-screenshot-8.webp
new file mode 100644
index 0000000..5e86d32
Binary files /dev/null and b/controller/assets/onlyoffice-screenshot-8.webp differ
diff --git a/controller/assets/onlyoffice-screenshot-9.webp b/controller/assets/onlyoffice-screenshot-9.webp
new file mode 100644
index 0000000..327ca4d
Binary files /dev/null and b/controller/assets/onlyoffice-screenshot-9.webp differ
diff --git a/controller/assets/opengist-logo.png b/controller/assets/opengist-logo.png
new file mode 100644
index 0000000..bf9e33a
Binary files /dev/null and b/controller/assets/opengist-logo.png differ
diff --git a/controller/assets/opengist-screenshot-1.webp b/controller/assets/opengist-screenshot-1.webp
new file mode 100644
index 0000000..ae6f1c5
Binary files /dev/null and b/controller/assets/opengist-screenshot-1.webp differ
diff --git a/controller/assets/opengist-screenshot-2.webp b/controller/assets/opengist-screenshot-2.webp
new file mode 100644
index 0000000..ee05252
Binary files /dev/null and b/controller/assets/opengist-screenshot-2.webp differ
diff --git a/controller/assets/opengist-screenshot-3.webp b/controller/assets/opengist-screenshot-3.webp
new file mode 100644
index 0000000..889c377
Binary files /dev/null and b/controller/assets/opengist-screenshot-3.webp differ
diff --git a/controller/assets/outline-logo.svg b/controller/assets/outline-logo.svg
new file mode 100644
index 0000000..c2d8fb0
--- /dev/null
+++ b/controller/assets/outline-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/outline-screenshot-1.webp b/controller/assets/outline-screenshot-1.webp
new file mode 100644
index 0000000..fc8a176
Binary files /dev/null and b/controller/assets/outline-screenshot-1.webp differ
diff --git a/controller/assets/outline-screenshot-2.webp b/controller/assets/outline-screenshot-2.webp
new file mode 100644
index 0000000..eb4a7b5
Binary files /dev/null and b/controller/assets/outline-screenshot-2.webp differ
diff --git a/controller/assets/paperless-ngx-logo.svg b/controller/assets/paperless-ngx-logo.svg
new file mode 100644
index 0000000..a48a838
--- /dev/null
+++ b/controller/assets/paperless-ngx-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/paperless-ngx-screenshot-1.webp b/controller/assets/paperless-ngx-screenshot-1.webp
new file mode 100644
index 0000000..c9f6e95
Binary files /dev/null and b/controller/assets/paperless-ngx-screenshot-1.webp differ
diff --git a/controller/assets/paperless-ngx-screenshot-2.webp b/controller/assets/paperless-ngx-screenshot-2.webp
new file mode 100644
index 0000000..f53abbc
Binary files /dev/null and b/controller/assets/paperless-ngx-screenshot-2.webp differ
diff --git a/controller/assets/paperless-ngx-screenshot-3.webp b/controller/assets/paperless-ngx-screenshot-3.webp
new file mode 100644
index 0000000..ce9e1ab
Binary files /dev/null and b/controller/assets/paperless-ngx-screenshot-3.webp differ
diff --git a/controller/assets/papra-logo.svg b/controller/assets/papra-logo.svg
new file mode 100644
index 0000000..2100cc3
--- /dev/null
+++ b/controller/assets/papra-logo.svg
@@ -0,0 +1,11 @@
+
diff --git a/controller/assets/papra-screenshot-1.webp b/controller/assets/papra-screenshot-1.webp
new file mode 100644
index 0000000..c824e36
Binary files /dev/null and b/controller/assets/papra-screenshot-1.webp differ
diff --git a/controller/assets/papra-screenshot-2.webp b/controller/assets/papra-screenshot-2.webp
new file mode 100644
index 0000000..365cc3d
Binary files /dev/null and b/controller/assets/papra-screenshot-2.webp differ
diff --git a/controller/assets/papra-screenshot-3.webp b/controller/assets/papra-screenshot-3.webp
new file mode 100644
index 0000000..86ba60e
Binary files /dev/null and b/controller/assets/papra-screenshot-3.webp differ
diff --git a/controller/assets/plantit-logo.svg b/controller/assets/plantit-logo.svg
new file mode 100644
index 0000000..a46ff8c
--- /dev/null
+++ b/controller/assets/plantit-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/plantit-screenshot-1.webp b/controller/assets/plantit-screenshot-1.webp
new file mode 100644
index 0000000..3ea31ae
Binary files /dev/null and b/controller/assets/plantit-screenshot-1.webp differ
diff --git a/controller/assets/plantit-screenshot-2.webp b/controller/assets/plantit-screenshot-2.webp
new file mode 100644
index 0000000..dc710ba
Binary files /dev/null and b/controller/assets/plantit-screenshot-2.webp differ
diff --git a/controller/assets/plantit-screenshot-3.webp b/controller/assets/plantit-screenshot-3.webp
new file mode 100644
index 0000000..9eb0226
Binary files /dev/null and b/controller/assets/plantit-screenshot-3.webp differ
diff --git a/controller/assets/plex-logo.svg b/controller/assets/plex-logo.svg
new file mode 100644
index 0000000..8514757
--- /dev/null
+++ b/controller/assets/plex-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/plex-screenshot-1.webp b/controller/assets/plex-screenshot-1.webp
new file mode 100644
index 0000000..af18f17
Binary files /dev/null and b/controller/assets/plex-screenshot-1.webp differ
diff --git a/controller/assets/plex-screenshot-2.webp b/controller/assets/plex-screenshot-2.webp
new file mode 100644
index 0000000..d934d28
Binary files /dev/null and b/controller/assets/plex-screenshot-2.webp differ
diff --git a/controller/assets/plex-screenshot-3.webp b/controller/assets/plex-screenshot-3.webp
new file mode 100644
index 0000000..623395a
Binary files /dev/null and b/controller/assets/plex-screenshot-3.webp differ
diff --git a/controller/assets/privatebin-logo.png b/controller/assets/privatebin-logo.png
new file mode 100644
index 0000000..fd5e3cd
Binary files /dev/null and b/controller/assets/privatebin-logo.png differ
diff --git a/controller/assets/privatebin-screenshot-1.webp b/controller/assets/privatebin-screenshot-1.webp
new file mode 100644
index 0000000..54838da
Binary files /dev/null and b/controller/assets/privatebin-screenshot-1.webp differ
diff --git a/controller/assets/privatebin-screenshot-2.webp b/controller/assets/privatebin-screenshot-2.webp
new file mode 100644
index 0000000..b1236bc
Binary files /dev/null and b/controller/assets/privatebin-screenshot-2.webp differ
diff --git a/controller/assets/radarr-logo.png b/controller/assets/radarr-logo.png
new file mode 100644
index 0000000..57ff998
Binary files /dev/null and b/controller/assets/radarr-logo.png differ
diff --git a/controller/assets/radarr-screenshot-1.webp b/controller/assets/radarr-screenshot-1.webp
new file mode 100644
index 0000000..c1b2e7a
Binary files /dev/null and b/controller/assets/radarr-screenshot-1.webp differ
diff --git a/controller/assets/radarr-screenshot-2.webp b/controller/assets/radarr-screenshot-2.webp
new file mode 100644
index 0000000..77e6fb8
Binary files /dev/null and b/controller/assets/radarr-screenshot-2.webp differ
diff --git a/controller/assets/rallly-logo.svg b/controller/assets/rallly-logo.svg
new file mode 100644
index 0000000..1a2d3ad
--- /dev/null
+++ b/controller/assets/rallly-logo.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/controller/assets/rallly-screenshot-1.webp b/controller/assets/rallly-screenshot-1.webp
new file mode 100644
index 0000000..3994f90
Binary files /dev/null and b/controller/assets/rallly-screenshot-1.webp differ
diff --git a/controller/assets/rallly-screenshot-2.webp b/controller/assets/rallly-screenshot-2.webp
new file mode 100644
index 0000000..ae5b798
Binary files /dev/null and b/controller/assets/rallly-screenshot-2.webp differ
diff --git a/controller/assets/romm-logo.svg b/controller/assets/romm-logo.svg
new file mode 100644
index 0000000..a8e9290
--- /dev/null
+++ b/controller/assets/romm-logo.svg
@@ -0,0 +1,13 @@
+
diff --git a/controller/assets/romm-screenshot-1.webp b/controller/assets/romm-screenshot-1.webp
new file mode 100644
index 0000000..bd343dc
Binary files /dev/null and b/controller/assets/romm-screenshot-1.webp differ
diff --git a/controller/assets/romm-screenshot-2.webp b/controller/assets/romm-screenshot-2.webp
new file mode 100644
index 0000000..94ad5cd
Binary files /dev/null and b/controller/assets/romm-screenshot-2.webp differ
diff --git a/controller/assets/seerr-logo.png b/controller/assets/seerr-logo.png
new file mode 100644
index 0000000..b97202a
Binary files /dev/null and b/controller/assets/seerr-logo.png differ
diff --git a/controller/assets/seerr-screenshot-1.webp b/controller/assets/seerr-screenshot-1.webp
new file mode 100644
index 0000000..2213082
Binary files /dev/null and b/controller/assets/seerr-screenshot-1.webp differ
diff --git a/controller/assets/seerr-screenshot-2.webp b/controller/assets/seerr-screenshot-2.webp
new file mode 100644
index 0000000..2d90318
Binary files /dev/null and b/controller/assets/seerr-screenshot-2.webp differ
diff --git a/controller/assets/sonarr-logo.svg b/controller/assets/sonarr-logo.svg
new file mode 100644
index 0000000..bbbb943
--- /dev/null
+++ b/controller/assets/sonarr-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/sonarr-screenshot-1.webp b/controller/assets/sonarr-screenshot-1.webp
new file mode 100644
index 0000000..8f74587
Binary files /dev/null and b/controller/assets/sonarr-screenshot-1.webp differ
diff --git a/controller/assets/sonarr-screenshot-2.webp b/controller/assets/sonarr-screenshot-2.webp
new file mode 100644
index 0000000..8ff32dc
Binary files /dev/null and b/controller/assets/sonarr-screenshot-2.webp differ
diff --git a/controller/assets/sonarr-screenshot-3.webp b/controller/assets/sonarr-screenshot-3.webp
new file mode 100644
index 0000000..059e44f
Binary files /dev/null and b/controller/assets/sonarr-screenshot-3.webp differ
diff --git a/controller/assets/tandoor-logo.png b/controller/assets/tandoor-logo.png
new file mode 100644
index 0000000..586f277
Binary files /dev/null and b/controller/assets/tandoor-logo.png differ
diff --git a/controller/assets/tandoor-screenshot-1.webp b/controller/assets/tandoor-screenshot-1.webp
new file mode 100644
index 0000000..d1f81d5
Binary files /dev/null and b/controller/assets/tandoor-screenshot-1.webp differ
diff --git a/controller/assets/tandoor-screenshot-2.webp b/controller/assets/tandoor-screenshot-2.webp
new file mode 100644
index 0000000..e1a1347
Binary files /dev/null and b/controller/assets/tandoor-screenshot-2.webp differ
diff --git a/controller/assets/tandoor-screenshot-3.webp b/controller/assets/tandoor-screenshot-3.webp
new file mode 100644
index 0000000..558dede
Binary files /dev/null and b/controller/assets/tandoor-screenshot-3.webp differ
diff --git a/controller/assets/termix-logo.svg b/controller/assets/termix-logo.svg
new file mode 100644
index 0000000..d1f4ef7
--- /dev/null
+++ b/controller/assets/termix-logo.svg
@@ -0,0 +1,57 @@
+
diff --git a/controller/assets/termix-screenshot-1.webp b/controller/assets/termix-screenshot-1.webp
new file mode 100644
index 0000000..f6ad76c
Binary files /dev/null and b/controller/assets/termix-screenshot-1.webp differ
diff --git a/controller/assets/termix-screenshot-2.webp b/controller/assets/termix-screenshot-2.webp
new file mode 100644
index 0000000..29764b1
Binary files /dev/null and b/controller/assets/termix-screenshot-2.webp differ
diff --git a/controller/assets/termix-screenshot-3.webp b/controller/assets/termix-screenshot-3.webp
new file mode 100644
index 0000000..377c9f9
Binary files /dev/null and b/controller/assets/termix-screenshot-3.webp differ
diff --git a/controller/assets/termix-screenshot-4.webp b/controller/assets/termix-screenshot-4.webp
new file mode 100644
index 0000000..09e8f71
Binary files /dev/null and b/controller/assets/termix-screenshot-4.webp differ
diff --git a/controller/assets/uptimekuma-logo.svg b/controller/assets/uptimekuma-logo.svg
new file mode 100644
index 0000000..65e6c1c
--- /dev/null
+++ b/controller/assets/uptimekuma-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/uptimekuma-screenshot-1.webp b/controller/assets/uptimekuma-screenshot-1.webp
new file mode 100644
index 0000000..6e4f7d5
Binary files /dev/null and b/controller/assets/uptimekuma-screenshot-1.webp differ
diff --git a/controller/assets/uptimekuma-screenshot-2.webp b/controller/assets/uptimekuma-screenshot-2.webp
new file mode 100644
index 0000000..41dd9b8
Binary files /dev/null and b/controller/assets/uptimekuma-screenshot-2.webp differ
diff --git a/controller/assets/uptimekuma-screenshot-3.webp b/controller/assets/uptimekuma-screenshot-3.webp
new file mode 100644
index 0000000..57fbd6a
Binary files /dev/null and b/controller/assets/uptimekuma-screenshot-3.webp differ
diff --git a/controller/assets/vaultwarden-logo.svg b/controller/assets/vaultwarden-logo.svg
new file mode 100644
index 0000000..e8143af
--- /dev/null
+++ b/controller/assets/vaultwarden-logo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/controller/assets/vaultwarden-screenshot-1.webp b/controller/assets/vaultwarden-screenshot-1.webp
new file mode 100644
index 0000000..86e5d03
Binary files /dev/null and b/controller/assets/vaultwarden-screenshot-1.webp differ
diff --git a/controller/assets/vikunja-logo.svg b/controller/assets/vikunja-logo.svg
new file mode 100644
index 0000000..a5922b1
--- /dev/null
+++ b/controller/assets/vikunja-logo.svg
@@ -0,0 +1,4 @@
+
diff --git a/controller/assets/vikunja-screenshot-1.webp b/controller/assets/vikunja-screenshot-1.webp
new file mode 100644
index 0000000..9ffd76e
Binary files /dev/null and b/controller/assets/vikunja-screenshot-1.webp differ
diff --git a/controller/assets/vikunja-screenshot-2.webp b/controller/assets/vikunja-screenshot-2.webp
new file mode 100644
index 0000000..115c343
Binary files /dev/null and b/controller/assets/vikunja-screenshot-2.webp differ
diff --git a/controller/assets/vikunja-screenshot-3.webp b/controller/assets/vikunja-screenshot-3.webp
new file mode 100644
index 0000000..fe9f613
Binary files /dev/null and b/controller/assets/vikunja-screenshot-3.webp differ
diff --git a/controller/assets/vikunja-screenshot-4.webp b/controller/assets/vikunja-screenshot-4.webp
new file mode 100644
index 0000000..898db42
Binary files /dev/null and b/controller/assets/vikunja-screenshot-4.webp differ
diff --git a/controller/assets/wanderer-logo.svg b/controller/assets/wanderer-logo.svg
new file mode 100644
index 0000000..d7a43bf
--- /dev/null
+++ b/controller/assets/wanderer-logo.svg
@@ -0,0 +1,23 @@
+
diff --git a/controller/assets/wanderer-screenshot-1.webp b/controller/assets/wanderer-screenshot-1.webp
new file mode 100644
index 0000000..6efc662
Binary files /dev/null and b/controller/assets/wanderer-screenshot-1.webp differ
diff --git a/controller/assets/wanderer-screenshot-2.webp b/controller/assets/wanderer-screenshot-2.webp
new file mode 100644
index 0000000..70bf9a5
Binary files /dev/null and b/controller/assets/wanderer-screenshot-2.webp differ
diff --git a/controller/assets/wanderer-screenshot-3.webp b/controller/assets/wanderer-screenshot-3.webp
new file mode 100644
index 0000000..257eab9
Binary files /dev/null and b/controller/assets/wanderer-screenshot-3.webp differ
diff --git a/controller/assets/wanderer-screenshot-4.webp b/controller/assets/wanderer-screenshot-4.webp
new file mode 100644
index 0000000..5ded517
Binary files /dev/null and b/controller/assets/wanderer-screenshot-4.webp differ
diff --git a/controller/assets/wger-logo.png b/controller/assets/wger-logo.png
new file mode 100644
index 0000000..fa238fc
Binary files /dev/null and b/controller/assets/wger-logo.png differ
diff --git a/controller/assets/wger-screenshot-1.webp b/controller/assets/wger-screenshot-1.webp
new file mode 100644
index 0000000..56ff9c2
Binary files /dev/null and b/controller/assets/wger-screenshot-1.webp differ
diff --git a/controller/assets/wger-screenshot-2.webp b/controller/assets/wger-screenshot-2.webp
new file mode 100644
index 0000000..a79a7d9
Binary files /dev/null and b/controller/assets/wger-screenshot-2.webp differ
diff --git a/controller/assets/wger-screenshot-3.webp b/controller/assets/wger-screenshot-3.webp
new file mode 100644
index 0000000..d8ccaac
Binary files /dev/null and b/controller/assets/wger-screenshot-3.webp differ
diff --git a/controller/assets/wishlist-logo.svg b/controller/assets/wishlist-logo.svg
new file mode 100644
index 0000000..6c0e923
--- /dev/null
+++ b/controller/assets/wishlist-logo.svg
@@ -0,0 +1,301 @@
+
+
+
diff --git a/controller/assets/wishlist-screenshot-1.webp b/controller/assets/wishlist-screenshot-1.webp
new file mode 100644
index 0000000..9e835bb
Binary files /dev/null and b/controller/assets/wishlist-screenshot-1.webp differ
diff --git a/controller/assets/wishlist-screenshot-2.webp b/controller/assets/wishlist-screenshot-2.webp
new file mode 100644
index 0000000..89b0308
Binary files /dev/null and b/controller/assets/wishlist-screenshot-2.webp differ
diff --git a/controller/assets/wishlist-screenshot-3.webp b/controller/assets/wishlist-screenshot-3.webp
new file mode 100644
index 0000000..6f77cbe
Binary files /dev/null and b/controller/assets/wishlist-screenshot-3.webp differ
diff --git a/controller/assets/zipline-logo.png b/controller/assets/zipline-logo.png
new file mode 100644
index 0000000..ba87994
Binary files /dev/null and b/controller/assets/zipline-logo.png differ
diff --git a/controller/assets/zipline-screenshot-1.webp b/controller/assets/zipline-screenshot-1.webp
new file mode 100644
index 0000000..12ce827
Binary files /dev/null and b/controller/assets/zipline-screenshot-1.webp differ
diff --git a/controller/assets/zipline-screenshot-2.webp b/controller/assets/zipline-screenshot-2.webp
new file mode 100644
index 0000000..666d15c
Binary files /dev/null and b/controller/assets/zipline-screenshot-2.webp differ
diff --git a/controller/assets/zipline-screenshot-3.webp b/controller/assets/zipline-screenshot-3.webp
new file mode 100644
index 0000000..0137a2a
Binary files /dev/null and b/controller/assets/zipline-screenshot-3.webp differ
diff --git a/controller/assets/zipline-screenshot-4.webp b/controller/assets/zipline-screenshot-4.webp
new file mode 100644
index 0000000..aa70afd
Binary files /dev/null and b/controller/assets/zipline-screenshot-4.webp differ