Into the Homelab computing

A homelab is a personal laboratory setup at home for the purpose of learning and experimenting with technology. It typically consists of a computer, networking equipment, and other components such as storage devices, servers, and software. Homelabs can be used to learn about different technologies, develop applications, or even host websites.

Tech Ingredients that I begin with

Fedora, Linux & the ecosystem, PM2

One of my favourite ingredients for a home lab is Fedora Linux Server. Fedora is an open-source operating system that provides a secure and stable platform for running applications. It also includes a wide range of tools for managing and configuring systems. I used to think that I may need a Linux with Desktop; however macOS is my daily driver, for the servers, the command line version remains much more powerful and manageable in most cases. Thus far, I'm using local SSH with public key authentication/along with password-based authentication to manage it over home wifi network.

The Cockpit from Fedora Linux is also a great ingredient for a home lab. The Cockpit is a web-based interface for managing and monitoring systems. It provides an easy way to manage and monitor multiple systems from a single interface. Once if we have installed the Fedora Linux Server edition, we could then enable the Cockpit console, then it's available at the local server-IP and port. Having it offers easier solutions for me to configure & monitor the Linux server box.

Bonus part, PM2 Process Manager would be an effective tool to run some nodeJS services & processes. It helps to keep applications running smoothly and efficiently.

Docker, Docker Compose

Docker Runtime and Docker Compose are great ingredients for a home lab. Docker Runtime is a container runtime environment that allows users to run applications in isolated containers. Docker Compose is a tool for defining and running multi-container applications. For the subsequent ingredients, I realise it's very convenient to run them via Docker Compose, then enable the root-ful docker, as well as add the primary admin user in the OS into the docker group.. there is some long technical configuration, just at the tradeoff of certain security level, if one isn't exposing the home network to the internet, having the root-ful docker address many ports, firewall configuration, and mapping issues from the services to devices in the home network.

Home Assistant

For home lab, I'm testing out with Home Assistant. Home Assistant is an open-source home automation platform that allows users to control their home from anywhere. It supports a wide range of devices and services, including lights, switches, thermostats, and more. The step before these, I have invested in replacing conventional switches mostly with Tuya-compatible IOT smart switches; and configuring them with the official Tuya app. Check out this Tuya Developer platform, that would be part of the requirement when we're integrating Tuya devices into the Home Assistant system.

Home Bridge

When I was testing the integration with the Apple Homekit ecosystem; I came to discover that Home Bridge is another great ingredient for a home lab; Home Bridge is an open-source bridge between home automation devices and Apple's HomeKit. This allows users to control their home automation devices using Siri voice commands.

Conclusions

In conclusion, our homelab, underpinned by Fedora Linux Server and empowered by the orchestration of Home Assistant, Homebridge, and Docker, is a triumph of modern home automation and personal computing. It epitomizes the seamless integration of various technologies, providing a flexible, secure, and scalable smart home environment. This project has not only enriched our technical prowess but also granted us a highly customized ecosystem that caters to our unique digital lifestyle. The journey of building this lab reaffirms the invaluable potential of open-source solutions in crafting an interconnected, automated home infrastructure poised for future expansions and innovations.

Did you find this article valuable?

Support William Cheong Weelau by becoming a sponsor. Any amount is appreciated!