This is the first Publication about my Home Lab
My Home Lab: The Heart of My Learning and Experimentation
Building my home lab has been one of the most rewarding experiences in my tech journey. It’s a playground for learning, testing new ideas, and hosting services I use daily. From self-hosting with Raspberry Pis to running VMs on Proxmox, my home lab has evolved into a complete infrastructure. Let’s dive into the details!
Networking: The Foundation of My Lab
Everything in my lab revolves around a solid networking setup. At the core is my pfSense router, running as a virtual machine on my Beelink Mini PC. This handles all my routing, firewall rules, DHCP, and DNS. While I don’t have VLANs set up yet, I’m considering segmenting my network for better isolation.
For remote access, I rely on Twingate. It acts as a secure gateway, giving me access to my home lab from anywhere without exposing anything to the internet.
For web services, I use Cloudflare Tunnel to securely route traffic to my local servers, I used it so I dont open ports on my network — for example, my Ghost website.
Compute & Virtualization: Hardware
I run Proxmox on my Beelink Mini PC (Intel N100, 16GB RAM). It hosts multiple virtual machines and containers:
- Home Assistant VM – My smart home hub.
- pfSense VM – My main router.
- Linux VM with Docker & ELK Stack – For running various services and logging.
I’m considering adding more Beelink Mini PCs to create a Proxmox cluster for better resource distribution. This would let me offload heavier services, like ELK, to dedicated nodes.
Storage & Self-Hosted Services
I use local storage for most services. My Raspberry Pi cluster and Linux VMs handle a variety of self-hosted applications:
- Docker & Portainer for container management
- Grafana & InfluxDB for monitoring and visualization
- Redis for caching and small databases
- Ollama for running local AI models(not used currently)
- Home Assistant for smart home automation
- Ghost for my personal website
I previously experimented with hosting an ELK Stack on a Raspberry Pi, but the performance was limited, so I moved it to a more powerful VM.
Raspberry Pi Adventures
My journey started with a single Raspberry Pi, which I initially tried to turn into a router with OpenWRT. When that didn’t work out, I transitioned it into a project server. Over time, I expanded to three Raspberry Pi 5s (8GB RAM), forming a cluster. The one with an SSD HAT acts as the control plane, while the others run workloads.
Some of my Raspberry Pi projects:
- AdGuard Home for DNS filtering
- PfSense monitoring with Influxdb Telegraf and Grafana
- Tailscale for simple remote access (before switching to Twingate)
- Network monitoring tools like Pi-hole Grafana
- Prometheus and Node Exporters
- CasaOS
Old Projects and mistakes
I’ve run a lot of experiments over the years. One of my earliest big projects was setting up a Docker Swarm with two Raspberry Pis to run Grafana, InfluxDB, and Redis. It worked, but I eventually transitioned to Kubernetes for more flexibility (though that’s a story for another post).
I’ve also tried hosting smaller applications on lightweight devices like esps
I am using and ESP32 with BME280 sensor connected to my home assitant that send the temperature data.
Visualizing My Home Lab
Here’s a simple representation of my current home lab network:
+-----------------+
| Internet |
+--------+--------+
|
v
+-----------------+
| pfSense VM |
| (Router & FW) |
+--------+--------+
|
+---------------------+--------------------+
| | |
+------+-----+ +------+-----+ +------+-----+
| Proxmox VM | | Beelink PC | | Raspberry |
| (Linux VM) | | (Docker) | | Pi Cluster |
+------------+ +-------------+ +------------+
| | |
+-------+--------+ +------+-----+ +------+------+
| ELK Stack VM | | Ghost Server| | AdGuard Home |
+----------------+ +-------------+ +--------------+
ChatGPT generated image - later will be replaced with a more accurate one.
This isn’t a full network diagram, but it gives an idea of how the core components are connected.
Final Thoughts
My home lab has grown from a single Raspberry Pi to a multi-node setup with virtualized servers, dedicated networking, and secure remote access. It’s my personal sandbox where I learn new skills, test out technologies, and build practical solutions for my home.
The thing I like most about this journey of home labbing is that I was able to experiment with what I am learning and what I see on the internet and put it to practice.