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.

Home Lab