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.
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.
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).
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).
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!
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.
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.
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!
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!
Thanks for reading 👍