Notifications, Notifications… and More Notifications

Staying updated when it comes to any part of your life is always crucial, but even more so when it comes to your homelab. That’s why I decided to try and find a more lightweight and faster solution, then my current clunky SMTP setup, which tended to end up with me getting huge volumes of email every time something went down. Enter ntfy.sh - a simple notification system powered by HTTP Requests and topics ...

October 8, 2025 Â· 4 min Â· 723 words Â· Vivaan M

Comments for My Blog

Blogs are great and all, but they need to have a level of interactivity, otherwise it can feel a bit dull. That’s where comments come in. And it’s become incredibly easy now, thanks to this amazing platform I found, powered by GitHub Discussions. Enter: Giscus - A comments system powered by GitHub Discussions 💬 💎 Setup Setting up Giscus is relatively simple, especially if you’re using a theme it already supports. Head here to do so. ...

October 5, 2025 Â· 3 min Â· 577 words Â· Vivaan M

Self Hosted Link-in-Bio Solution

It’s nice to keep a link in my Instagram bio that links to some of the stuff I work on, just in case anyone wanted to take a look. Previously, I’d just include a link to my GitHub, but recently, with my new website and this blog, I’d like other things to be accessible there. In this case you’d normally use a cloud-hosted link in bio solution, of which there are many of. But what’s the fun in that? How about we self-host one instead. ...

October 5, 2025 Â· 2 min Â· 306 words Â· Vivaan M

Custom Prompt for All My Terminals

What’s the first thing you normally tend to interact with when you connect to a machine remotely. That’s right - the terminal, and so ensuring it’s as useful as possible is always very helpful. There’s many options out there for doing so, from oh-my-bash to oh-my-posh, but I wanted something a bit more portable. Enter: Starship - the minimal, blazing fast, and extremely customizable prompt for any shell Installing Starship Installing Starship is relatively simple, and the docs for doing so can be found here. ...

September 25, 2025 Â· 8 min Â· 1611 words Â· Vivaan M

Overcomplicating Asset Serving

All the images on my blog need a place to live, and while I could just serve it on the blog itself, some of my other projects need locations for files to live - and serving it on them natively just isn’t a viable option. Images and the like are also more heavier then text, and so it can often be beneficial to load them from a more local server. ...

July 23, 2025 Â· 3 min Â· 435 words Â· Vivaan M

Home Assistant... But Modular

Modularity always helps when it comes to the maintenance of complex systems, and so it should help when it comes to managing Home Assistant. A while back, I stumbled across Frenck’s GitHub profile, where he was showcasing his Home Assistant config - https://github.com/frenck/home-assistant-config. I found the idea of splitting each entry into it’s own dedicated file, rather then having one huge config file, much more intuitive and easier to manage. Setup Navigate to your data folder 03:43:35 vivaan@ultimate ~ → cd /clstr/homeassistant/data Create a new integrations folder This will be where all the entries for Home Assistant’s config will be stored. ...

July 21, 2025 Â· 2 min Â· 264 words Â· Vivaan M

Controlling My UniFi AP Leds via Home Assistant

The UniFi U7 Pros have these neat LED rings on them, but they can be pretty distracting during the night - so I thought it would be cool to be able to control them via Home Assistant, and automate them. And honestly, another set of lights to have control over - especially considering they seem to make pretty good night lights. Setting up the APs In order to control the AP LEDs, you will need to enable SSH. You can do this via the UniFi Controller. ...

July 19, 2025 Â· 4 min Â· 846 words Â· Vivaan M

Self-hosting the UniFi Controller

In order to fully utilise the UniFi APs full feature set, you’ll need to have a UniFi controller of some sort. This can be a UniFi Cloud Key, a UniFi Cloud Gateway, or… you can host one yourself. So obviously, I chose the third option. There are two methods for installing the controller. One is on Docker, or you can use a Bare-Metal install. I’ll go through both, but I personally use the Docker setup. ...

July 19, 2025 Â· 4 min Â· 655 words Â· Vivaan M

Self-hosting a Password Manager

Passwords are one of the most important aspects of our digital lives nowadays, making the password manager of your choice one of the most important tools you use. I was using Bitwarden, until I decided that I’m gonna take a little risk and self-host my password manager. Enter: Vaultwarden - an unofficial rewrite of the Bitwarden server. Brief Introductions For the uninitiated, Bitwarden is an incredibly powerful password manager, with many feature, and a pretty intuitive UI. However, a few of it’s major painpoints revolved around a few of it’s features being locked behind a paywall. It’s not that I needed those features, they were just a nice to have - take organisations for an example. I like to follow a similar idea to Zero-Trust Architectures, in which all devices only are able to access the resources they need. One way I could achieve this with Bitwarden is having all my Personal devices use one account, and all my School devices use another. ...

June 26, 2025 Â· 2 min Â· 315 words Â· Vivaan M

Server Authentication in the lab

Why? One of the central aspects of my setup is the LLDAP server. This allows all services to authenticate using the same credentials, meaning users just need to remember one set of logins. One thing I wanted to do was to ensure the servers also authenticated against the same server. Let’s get started I initially started off by following the guide on the LLDAP repository to setup NSLCD in combination with LLDAP, however I soon found the NSLCD was no longer actively supported. This meant that it was quite lacking in the feature space, and often had weird compatibility issues. ...

May 21, 2025 Â· 5 min Â· 1025 words Â· Vivaan M