Over the past year or so I’ve been getting very heavily into self-hosted applications and general homelab stuff. What first started as a handful of jails on FreeNAS has since turned into a heavily Dockerized powerhouse on a ProxMox machine.
Having a ton of services doing so many things is fantastic, but it can be a pain to maintain – especially when you’re stuck manually navigating to a bunch of different IPs and ports and domains. This is where dashboards come in.
There’s no shortage of these out there. Organizr was the first I tried. It’s super simple to configure and offers a convenient interface that can load many services in iframes for a convenient and seamless experience navigating between services. It felt a little intimidating visually to me, though, and I found myself browsing for another solution.
Heimdall seems to be the most popular alternative I’ve seen, and I’ve admired many a dashboard stuffed full of awesome self-hosted apps on /r/selfhosted and /r/homelab. The aesthetics of it, though, weren’t quite to my liking. I personally prefer a more flat and minimal approach to design.
Then I found Homer. Aesthetically – for me, at least – it’s pretty much perfect. It felt very uncluttered and simple, and is implemented in an extremely convenient and customizable way. It was very convenient to use as a New Tab page (using New Tab Override), allowing me to very quickly navigate to manage my apps. As I was constantly trying out new apps and modifying configurations, I spent a lot of time managing my apps. But there was one problem. Some restriction between Firefox and the extension prevents the search bar from autofocusing, thereby not allowing me to immediately search something up or navigate to a page.
To tackle this issue, I created my own dashboard based off of Homer’s design with a focus on a built-in multi-function search bar. The search bar is automatically focused on page load. When you start typing, it’ll show a list of your apps that match the query. If you press enter, however, it will process the query in a similar way to the browser’s omnibar. If you type in a URL, it’ll navigate to that URL. If it’s not a URL, you’ll be redirected to a search on an engine of your choice. Problem (mostly) solved!