An Emerging Homelab

Coming into 2020, I had quite a few raspberry pi devices (raspis). None of them were doing anything super interesting though. I had learned some basic sysadmin processes while deploying a few services like VPNs, SSH servers, and even a Discord Bot, but I was hitting some issues. I found managing all the devices, configurations, and services to be quite burdensome. I knew enough to see this as an issue, but not quite enough to address/solve it.

At this time, I was also getting into some classes where learning Docker made my life simpler. I began learning about containers, docker networks, architecting multiple services together with docker-compose, and then I hit gold: Docker Swarm Mode. It allowed multiple physical hosts to work together to run apps and services. I used this "swarm" approach when working on some distributed software in school and it simplified the whole deployment and management of the system my team was working on. There is much to say about that project, but it's not the point of this post.

Around this time I also discovered communities like:

I loved seeing people's labs & builds, and just the sheer usefulness of it! This was sort of the final push for me to dive headfirst into learning the technology behind it all, and of course, making cool things. This hobby has eaten a chunk of my spare time, but it has been so rewarding and worth it. I've learned how to design systems with containers, been able to use this knowledge in my final large project as an NCSU Senior, and the know-how has been immensely useful through my most recent internship. It feels good to learn, experiment, and have confidence in my home lab.

Some of the diagrams I've seen online have inspired me to make my own, and it is still a work in progress.

a home diagram attempt
a home diagram attempt
August 31, 2020

There is still so much more to learn (Infrastructure as Code (IaC) looks especially neat), and I look forward to always having a place to experiment, test, and learn whatever I may be working on personally and professionally.


Timeline

Here is a timeline of how I acquired my devices, it's mostly here as a record for me though 😄.

December 26, 2017

Received my first raspi from my girlfriend for Christmas (sethspi).

it all started under this tree
it all started under this tree
December 26, 2017

January 3, 2018

Was talking with some family about my raspi and what I was planning on using it for. They bought another raspi kit in return for me running a VPN for them because they travel quite a bit (cohenpi).

May, 2018

One evening I was coming home from classes and I saw a black piece of plastic on the side of the road. It turned out to be a raspi 3B, and I found a power cable, popped in a micro SD card, and I had another addition to my fleet!

earlier picture of the place
earlier picture of the place
May 7, 2017

August 13, 2018

Bought a new case for galeapi after getting a Sense HAT on vacation over the summer from a Fry's Store. At this point in time, I had 2 raspi 3Bs.

first 2 raspis
first 2 raspis
August 15, 2018

July 15, 2019

Ordered a raspi 4B with 4GB of ram (buffpi)

March 21, 2020

Then, I had acquired 4 raspis and it was getting a little wild wherever they were. I spent some time with my dad and made an awesome spruce organizer.

testing out the new organizer
testing out the new organizer
March 21, 2020

July 23, 2020

As I was experimenting and adding more services to my fleet of devices, they were having some cooling troubles. It was time for an upgrade. I bought a somewhat fancier rack with some built-in cooling and it looks so neat!

acrylic RGB enclosure
acrylic RGB enclosure - July 23, 2020

July 26, 2020

One of my friends was getting rid of some devices and I took this as an opportunity to address some of the limitations of my current fleet. Everything I was running was ARM-based. That limited and brought some complications when some software I wanted to use was compiled for other systems. I also was wanting a device to run Openmediavault to handle file sharing and backups in my house. I ended up buying a Dell Optiplex and adding it has been amazing.

Having more devices, covered ARM and x86_64 architectures, a surplus of storage, ethernet all the way, and storage/cooling under control has been so great!

added a router and an x86_64 device
added a router and an x86_64 device - August 22, 2020

Thanks for reading 👍