I’ve been hosting applications on local hardware for years and have come across numerous tools during this time. Media streaming platforms, photo managers, game servers, ebook organizers, and a host of other utilities are the more popular ones of the bunch and are extremely useful for data hoarders like myself. On the other hand, I’ve also run into some quirky services that, despite appearing somewhat weird at first glance, have their own niche utility in my home lab.

Then there’s the application stack I consider borderline essential for my everyday workloads. While it’s a mixed bag of productivity, backup, and simple QoL-enhancing services, I consider them the crux of my self-hosted setup.

Syncthing

Great for syncing files between my server nodes

Before I begin talking about Syncthing’s benefits, let me confirm that it’s not meant to be used as a substitute for backup. Instead, it’s a file synchronization utility that automatically updates a file (or even entire directories) on multiple nodes anytime you modify it on one system. This makes it a terrific option for synchronizing important documents, especially since I tend to use different machines (including VMs) in my daily tasks.

For example, I’ve configured my Syncthing instance to overwrite the config files, scripts, and other coding documents on my MacBook and PC every time I finish working on a project inside my dev VMs. Likewise, I often create screenshots for my articles on different operating systems, and having Syncthing send them to each rig in my setup makes it easier to resume my work whenever I switch machines.

Firefly III

My favorite bookkeeping service

While there are a handful of finance managers out there, I consider Firefly III the crème de la crème for keeping track of my budgets, bills, and savings. Besides the fact that Firefly III runs on my local servers, it lets me use different currencies in my financial records, which is a godsend since my transactions involve payments made in EUR, INR, and USD. Since it doesn’t impose a limit on user accounts, I’ve created separate Firefly III dashboards for my family to help them keep an eye on our daily expenses.

Plus, I really appreciate how Firefly III doesn’t rely on the zero-sum budgeting framework. Rather than forcing me to allocate all my income to savings, budgets, or other categories, Firefly III provides more leeway in managing my finances, though it’s still capable of sending alerts if I cross any budget thresholds. For an app that saved my college self from overspending and becoming bankrupt, Firefly III is something I run 24/7 on my home server.

Vaultwarden

For my incomprehensible passwords

As a side effect of taking security a little too seriously, I tend to create long and wacky passwords that sound more like Lovecraftian chants and less like the credentials a normal person would use. Throw in my tendency to use separate passwords for every account, and it’s clear why I need a password manager to avoid getting logged out permanently from cloud platforms and even my self-hosted stack.

I use Vaultwarden as my password repository, but it also stores my API keys, TOTP codes, encrypted notes, banking cards, and even personal IDs. Unlike Bitwarden, Vaultwarden is fairly lightweight and can run on something as weak as a budget-friendly Raspberry Pi. Throw in its compatibility with browser and Raycast extensions, and it’s easy to see why my Vaultwarden server needs to remain operational all the time.

Home Assistant

Alongside an army of add-ons

Most tinkerers consider Home Assistant the golden smart home management platform, and having used it for months, I can confirm that HASS lives up to its reputation. In addition to supporting most of the popular smart devices and IoT paraphernalia out there, Home Assistant also features customizable dashboards to help you manage every aspect of your smart home.

It also includes powerful automation facilities, ranging from simple community blueprints and trigger-action flows to complex YAML-based chains involving numerous devices. And I haven’t even talked about the sheer number of cool services you can self-host on top of a virtualized Home Assistant instance, including Frigate, Node-RED, ESPHome, and Mosquitto broker.

Pulse

Throw in Beszel as well

Although I’ve only mentioned my essential apps in this article, I run dozens of containerized services and VMs in my home lab, making a monitoring server quite useful. While Beszel lets me keep an eye on my server nodes, I use Proxmox more than any other virtualization platform, and that’s why I rely on Pulse more. It’s a monitoring utility that not only tracks the uptime of Proxmox virtual guests, but also pulls the resource consumption metrics for each LXC and VM.

In addition to sending alerts when a service goes offline, this neat app also supports notification thresholds for CPU, memory, and storage utilization. For folks who rely on Proxmox Backup Server as much as I do, Pulse can even pull detailed records of the last snapshots added to PBS. Heck, it can even double as a decent dashboard, since you can add links to the web UIs of different LXCs. Me? I use a different app for my dashboard…

Homepage

To drool over my self-hosted app stack

I’ve gone through numerous dashboard-centric utilities, and most of them bring their own unique features to the table. Heimdall, for example, is great for beginners who might get overwhelmed by numerous toggles and menus, while Homarr is a solid option for folks who want to link most of their self-hosted services with a rich web UI. Homepage, however, lies on the other end of the complexity spectrum and requires manual YAML configs for every UI element.

But if you’re willing to spend an evening creating YAML code for your self-hosted stack, Homepage lets you customize every aspect of your dashboard, including the app descriptions, groups, widgets, site monitors, and icons. My only caveat with Homepage is that I need to open the services.yml file every time I need to add a new self-hosted app to the dashboard, which happens a couple of times every week.

These QoL services are worth the extra energy bills

If we were to expand the definition of self-hosted applications, I’ve got even more utilities that deserve a shout-out. For example, I run my TrueNAS-powered storage server 24/7 as a file-sharing, data archival, and backup rig. The same holds for my Proxmox Backup Server machine, as it provides an extra layer of protection for my PVE virtual guests. I also have an OPNsense firewall running off an SBC, and have linked Nginx Proxy Manager with a Pi-hole instance to assign custom domain names to my self-hosted application stack.