Home lab streaming setup screenshot
Bird feeder live stream running via Restreamer in the home lab.

Welcome to my home lab, a space dedicated to learning, experimentation, and a bit of fun. What started as a curiosity has grown into a robust environment where I run various services to support my consulting business and enjoy some entertainment on the side.

In this article I'll take you through the ins and outs of my home lab setup — from the hardware I use to the network configuration, virtualization, containerization strategies, and beyond. Whether you're interested in setting up your own home lab or just curious about mine, I hope you'll find some valuable insights and maybe even some inspiration.

1. Hardware and Network Infrastructure

Hardware Details

My home lab is powered by five older Dell and HP desktop PCs, each equipped with Intel i5 processors and 12–16 GB of memory. These machines might not be the latest and greatest, but they serve the purpose well. Each node has two 1 TB hard drives, providing ample storage for the various VMs and containers I run. All five nodes run Proxmox, a powerful virtualization platform that allows me to manage and deploy VMs and LXC containers efficiently.

Networking Setup

A solid network foundation is crucial for any home lab. Here's a breakdown of the infrastructure:

  • Managed Switches: Netgear managed switches for seamless connectivity and traffic management. Three switches connected to the firewall using trunk ports that pass VLANs.
  • POE Switch: Powers multiple POE cameras around the property and Raspberry PIs with POE hats used for monitoring projects.
  • Meraki Go Firewall and APs: Provides robust remote monitoring and alerting. Considering a future swap to pfSense for greater configurability.
  • VLAN Configuration: VLANs segregate personal, consulting, and public/untrusted devices, maintaining better security and performance across the network.

2. Virtualization and Containerization

Proxmox

Proxmox serves as the backbone of my virtualization environment, running on all five nodes. This open-source platform allows me to manage and deploy virtual machines (VMs) and Linux containers (LXC) efficiently. VMs are dedicated to specific tasks, while lightweight LXC containers handle applications with lower resource requirements.

Docker and Portainer

Containerization is managed through Docker running inside LXC containers on Proxmox — allowing for uniform manageability and easy migration between physical hardware. To simplify Docker management I use Portainer, which provides a single-pane-of-glass view of all containers with an intuitive web interface for monitoring, deploying, and maintaining services.

3. Storage Solutions

TrueNAS

TrueNAS is the cornerstone of my storage infrastructure. My setup uses a RAIDZ1 configuration with three 4 TB disks, yielding just over 7 TB of usable space — a good balance between redundancy and capacity.

Data Access Methods

  • SMB Shares: Easy file access from Windows devices.
  • NFS Shares: Efficient file sharing between Linux servers.
  • NextCloud Integration: TrueNAS integrates with NextCloud (running on Nginx with a MySQL backend) for sync and remote access from anywhere.

4. Network and Security

  • Nginx Proxy: Exposed on port 443, provides an extra layer of authentication and protection for services like NextCloud and Plex.
  • Cloudflare Tunnel: Securely exposes HTTPS resources without revealing my public IP. Cloudflare's DDoS mitigation and WAF add extra security.
  • Twingate: Zero-trust network access for remote connections to internal services.
  • Wazuh: Comprehensive security monitoring providing real-time analysis and alerts for security issues across most services in the lab.
  • Technitium DNS: Local DNS server enabling clean internal domain names and DNS-level ad/tracker blocking.

5. Media and Entertainment

Plex Media Server

Plex serves as the cornerstone of my media setup. All media files — movies, TV shows, music, and photos — are stored on TrueNAS and streamed to any device on the network or remotely. Physical media has been converted to digital format using HandBrake on Windows.

Restreamer

Restreamer enables live streaming from my property. I have a Reolink camera pointed at my bird feeders, and Restreamer previously rebroadcast that footage to a public website (live.bentownsend.com — currently offline, public camera access disabled for privacy reasons) and YouTube Live channel, providing a window into the backyard wildlife.

6. Home Automation

Home Assistant

Home Assistant runs on an Atomic PI board inside a custom enclosure. It integrates with numerous smart devices including smart bulbs, TVs, light switches, air conditioning units, fans, furnaces, security cameras, garden moisture sensors, hose valves, door locks, and garage doors. I subscribe to Nabu Casa for seamless, secure remote access while supporting the Home Assistant developers.

Frigate and Reolink Cameras

Frigate processes video feeds from Reolink cameras using a Google Coral TPU for real-time object detection. Integration with Home Assistant enables sophisticated automation:

  • License Plate Detection: When Frigate detects my car in the driveway, it can trigger the garage door to open.
  • Person Detection: Sends alerts and can trigger exterior lights when people are detected.
  • Real-Time Alerts: Tailored notifications based on object type, reducing noise while keeping me informed of significant events.

Additional Services

A few other notable services running in the lab:

  • n8n: Workflow automation platform for social media scheduling, data pipelines, and inter-service integrations.
  • Uptime Kuma: Monitors all critical services and alerts me if anything goes offline.
  • Mosquitto (MQTT): Message broker facilitating real-time data exchange between Frigate, Home Assistant, and IoT devices.
  • BirdNET-Pi: AI-powered bird species identification via audio analysis — see the birdwatching article for details.
Home Lab Proxmox Docker TrueNAS Home Assistant Plex Networking Cloudflare Security Self-Hosted
← Back to Articles