The Wide World of Homelab
What's a Homelab?
Basically, a homelab (or home lab) is a smattering of enterprise (or not-so-enterprise) equipment interconnected in a home environment for experimentation with various technologies. Typically a homelab is tailored to one's particular interests, whether it be networking, cybersecurity, Windows domain administration, Linux, virtualization, containerization, etc. There is not one single correct way to build a homelab. A homelab can consist of thousands of dollars of rack-mounted enterprise equipment or it can consist of free recycled computers from an e-waste bin sitting on an IKEA table. The flexibility and relative unserious nature of "homelabbing" is part of the great fun of it.
My Homelab
I've been running a homelab in various forms since I was around 13. For the first iteration in my parents garage, I was running a Dell PowerEdge R710 server purchased off eBay kitted with dual Xeon processors and 196GB of RAM, which was both loud and power hungry (thanks to my parents for putting up with it!). In my current apartment lab I'm running a small form-factor PC as my main hypervisor, which consumes less than 10 watts of power at idle and is virtually silent. With the advent of containerization I can run many services on this host (16 and counting) without even getting close to maxing out the i7 or 24GB of RAM it has.
Below is a list of the services I'm running and technologies I'm learning. Recently I've been having fun learning DevOps focused technologies like Terraform and Ansible. I was able to find and modify a Terraform provider for Proxmox which allows me to spin up new Ubuntu VMs and automatically configures them with an Ansible playbook.
Services
Service | Description |
---|---|
Proxmox | Virtual Machine hypervisor |
Ubuntu 22.04 LTS | Docker container host |
Terraform | Virtual Machine orchestrator |
Ansible | Virtual Machine configurator |
Docker | Container engine |
Pi-hole | Local DNS & DHCP server, adblocking |
Home Assistant | Home automation platform |
Node-RED | Flow-based visual home automation tool |
OpenVPN | VPN server |
nginx | Static content hosting |
Portainer | Web-based Docker container management |
Snapdrop | Easy file sharing between network devices |
Vikunja | To-do list and reminders |
Kanboard | Kanban boards |
Grist | Databases and spreadsheets |
Bookstack | Documentation & knowledge management |
Mosquitto | MQTT broker |
MediaWiki | Personal Wiki |
Homelab Resources
A big part of the fun of running a homelab is participating in the community. In addition to being a great resource when you get stuck or to find something new to try in your lab, it's also just plain cool to see other peoples' builds. Below is a brief list of some good resources and content.
- r/Homelab: Probably the most active resource. See other lab builds and discuss homelab in general.
- r/Homelab Wiki: Great resource for both introductory information and choosing equipment.
- r/selfhosted: Find and discuss new services to host on your own infrastructure.
- r/homeassistant: Home Assistant topics, mostly automations and integrations.
- Christian Lempa (YouTube): General homelab channel.
- Cameron Gray (YouTube): More networking heavy content.
- Techno Tim (YouTube): General homelab channel.
- Jeff Geerling (YouTube): "That Ansible and Raspberry Pi dude".
- Lawrence Systems (YouTube): Also networking heavy. He owns his own business/MSP as well.
- Morten Hjorth/My PlayHouse (YouTube): Probably the craziest homelab I've seen.
<< Back to Home