Home Lab
When I began building my home lab, I had no idea how much it would help me out in certifications and at work. I have been able to use my home lab as a testing server to learn how to setup and configure different apps and services. In this post and subsequent posts I will detail how I ended up becoming an avid homelabber and any advice that I have for others thinking about pursuing a home lab.
It all started two years ago with an install of Truenas Scale. The ability to run containers on my desktop computer that I converted into a NAS was what inspired me to go down the self-hosted rabbit hole. With these containers, I was introduced to Plex and Tailscale. The introduction to Plex inspired me to utilize other containers, but Tailscale was the real service that inspired my home lab. I discovered how easy it was to utilize and build Wireguard tunnels between my devices. It was this mobility that inspired me to try other services. If I had to be physically at home to use my home lab, I probably would not have made it this far.
The first hardware that I purchased for my home lab was an Intel NUC I bought for $50 on Ebay. Then, I began experimenting with different type-1(bare-metal) hypervisors. I started with Truenas Scale because it was what I was familiar with, but I tried several different hypervisors. In the end, I stuck with Proxmox because the GUI was organized in a way that made it easy to manage virtual machines and containers.
Once I discovered the ability to cluster Proxmox hosts, I bought another Intel NUC and a Minisforum TH50. I used the NUCs to create a Proxmox cluster. At first I had various services on each host, but then I began to experiment with CEPH storage and high-availability. It gave me some appreciation to the complexities involved with designing and implementing highly available systems.
In the end, I moved away from CEPH and began to only maintain single instances of VMs and containers. CEPH was nice to have but it limited the space I had available on the hard drives. I kept the Proxmox nodes clustered together to maintain a single dashboard.
After my first system misconfiguration, I knew that I needed to implement a backup mechanism. I bought a Synology NAS that I planned on using for backups utilizing NFS. I backed up my data for a while this way until I came into contact with Proxmox Backup Server. At first, I installed it on the Minisforum TH50, but I quickly realized that I did not have enough space to backup everything I wanted to and I wanted to ensure that my data was not lost if the used mini-pc quit working. Then it dawned on me that I could run virtual machines on the Synology NAS. I quickly spun up an instance of Proxmox Backup Server and pointed my Proxmox backups at it. This is the backup solution that I continue to utilize.
In the next post, I will talk about the next step in my journey and how I ended up buying way more hardware than I actually needed because I basically became addicted to growing my services and deploying enterprise solutions to my home lab.
Update
I was going to make a follow-up post for this article, but I have decided that instead of detailing how I built my home lab in the past tense, I am going to redesign it. Currently, I have over 100 various Docker containers, LXC containers, and virtual machines. There are several Docker containers that I spun up and thought I would use more than I currently am. This is not the first complete redesign that I have gone through with my home lab and I am sure that it will not be the last. As I find new services and learn how to use new tools, my home lab has grown outside of it's original bounds and I find that it is not optimally configured. In the next couple of weeks, I will begin posting my design process and how I will build the services out. Then I will begin posting about each service. I want to document what the service does, the features that motivate me to use it, and the process I went through to implement it.