How I Built My HomeLab
Tags: opensource, homelab, docker, learning
Published: 2023-07-20 15:49:18

## How it started

I have always been interested in electronics. In the past, I had a special drawer in a cabinet located in our hallway. This drawer contained my exercise books from school and books from previous classes that I rarely used, so they always looked new. Additionally, I had a Palito FM Auto Scan radio (I won't disclose my age), a Sony cassette recorder that I found among my big brother's belongings, and a Honda cassette player that I purchased because my big brothers had one. I also had some low-voltage bulbs to provide light and DC motors powered by a few Tudor and Tiger Head battery setups. A bit more time and I'm confident I could have created a time machine!

![A comic by Andrea Hickey on Buzzfeed.com](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eyj63rkiykdyr5cjna57.png)

I arranged all these neatly on a cloth. I would've spent all my time there if the drawer were larger. Except when Looney Tunes or some of my other favourite TV programs were airing. Why did most kids my age love such things? As for me, I thought they were "cool", and I learned and built something that made life more comfortable.

## How it's going

Fast forward to 2023, I've been writing software for a living, while my hobbies have mostly been following software and other tech news and products. Sadly, electronics have taken backstage. Now, I spend much time on things linked directly to my work as a software developer. I've still got an eye on some cool electronics projects, but I guess the time's not yet ripe to get back to it.

![A comic by Work Chronicles on [Twitter](https://twitter.com/_workchronicles/status/1387307425682714629)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y5l6ltwjzy99hoer5dwo.jpeg)

For quite some time now, I've been planning some cool software projects relevant to my work that could double as exciting hobby projects. And this is how I got to build my very first home lab.

## The Menu

One thing about these applications is that they're either the "free" version of some proprietary software or completely open source. Home labs have grown in popularity over the past few years, but they still require lots of technical expertise to set them up. In this journey, I will share the services in my home lab, why I chose them and how I set them up.

- Wireguard: While away from home, I'd like to monitor what's going on on my network. While this is great for viewing security footage and many other things, I intend to use it to extend the capabilities of my laptop. This way, I can access some productivity tools installed in the home lab on any trusted computer. WireGuard is a VPN that enables secure connections to my home network over the internet.

- Duck DNS: Duck DNS is a dynamic DNS that will be excellent for providing a hostname (for free) for the dynamic IPs my ISP provides.

- Photoprism: One of the best uses of a home lab is to serve those lovely photos, and I intend to do just that. Free photo hosting services often lack sufficient storage for all my photos. Additionally, I frequently need to share many photos with others. Photoprism comes to the rescue, providing a seamless solution to manage and share all my photos effortlessly. I particularly like its AI integration feature that helps with image identification and organisation.

- TrueNAS CORE: This one will give me some enterprise-grade server features for managing my storage on the network. These include all the sweetness that comes with a ZFS filesystem, file sharing, loads of plugins, and client applications for Windows, MacOS, Linux, UNIX, iOS and Android.

- Jellyfin: For all the videos from my mobile photography, weddings, family gatherings and all those memorable times, Jellyfin will be the guy to manage them. Plex is the more popular choice for this role, but it hasn't played nicely with me yet. Therefore, for now, I'll stick with Jellyfin.

- Homer: Without a dashboard to access these services, I'll have to remember the port numbers on which they're running. Or, to make it a bit easier, I'll have to create subdomains and set up a local DNS to route the custom domains to the various services. With a dashboard like Homer, I can access these services simply by clicking through widgets.

![Fun ride via [theeggyolks.com](http://www.theeggyolks.com/2023/03/fun-ride-genting-skyworlds-theme-park.html)](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aefb3lymkf4akky3na7b.jpg)

## Next steps

Oh, this will be so much fun and fulfilling when it's finally completed! These are certainly not all the services. There's more I'll be adding in due course. In the upcoming article, I'll share my setup process and how I got my first service up and running. Throughout this journey, I am prioritizing ease of setup, as my ultimate goal is to assist and empower more individuals in setting up their home labs effortlessly. That's all for now, see you in the next one.