Homelab dashboards

There are plenty of dashboards available out there: Dashy, Heimdall, Homer... but I've picked this one for one specific reason...

Homelab dashboards
Photo by Dragoș Grigore / Unsplash

What are they, you say? They are dashboards. For your homelab. They are more or less dynamic landing pages that represent a window to your homelab ecosystem.

There are plenty of dashboard applications available for your server/cluster out there. Some of them are fancy, with a catchy high-tech cyberpunk look. Some others have a clean and tidy appearance (someone may find them kinda boring). They can be modular, coming with very useful widget collection for health check probes and applications insights. My suggestion is to try them all and see which one fits your needs the best; here are my considerations:

I've tried Homer, which was fine, tidy, with a straightforward configuration in a single yaml file, but needed more.

I've tried Heimdall, probably it was the heaviest in terms of resource requests, but of course it offers more features compared to Homer.

Furthermore, I've given a try to Dashy, which is customizable in sooo many levels, very impressive I'd say! Rich in widgets, it supports off site backups, layout editing, and so many other features you can discover in the official homepage. But then, the game changer has arrived:

🔥 FLAME 🔥

WARNING: if you are into Scandinavian minimalist style, you are about to fall in love. Flame is a simple dashboard supporting applications and bookmarks. It has a discreet search bar for your favorite search engine (DuckDuckGo, right? You can choose among 11 options anyway), a clean weather widget, date and time information and that's it! You can pick the theme you prefer and customize your own via CSS.

This is Flame, and it is beautiful

I told you it's a game changer, the reason why I told you that, it's not because I'm into the Japandi style of my interior homelab design. You can add and remove applications via UI, that's true! But it has a goddamn decentralized configuration!!! Meaning that it integrates with Docker daemon's API to automatically import the containerized applications based on their labels specifications. Let me explain a little bit better: let's suppose that you've just spinned up a fresh Flame container, and you are about to create another application with docker-compose or Kubernetes, just add 4 labels to that docker service/Kubernetes pod:

labels:
  - flame.type=application # "app" works too
  - flame.name=My container
  - flame.url=https://example.com
  - flame.icon=icon-name # optional, default is "docker"
# - flame.icon=custom to make changes in app. ie: custom icon upload
Flame docker integration

Same thing if you're running your stuff in a Kubernetes cluster!

metadata:
  annotations:
  - flame.pawelmalak/type=application # "app" works too
  - flame.pawelmalak/name=My container
  - flame.pawelmalak/url=https://example.com
  - flame.pawelmalak/icon=icon-name # optional, default is "kubernetes"
Flame kubernetes integration

And you will have the application entry in Flame dashboard! That's great! And this is why I've adopted Flame as my homelab dashboard, it gained its own place in my Ansible roles to replicate my lab. If you like this project as I did, go and leave a star! Peace! >_