Building production-style infrastructure from a 10-inch rack.

Computer Systems Technician student at Conestoga College. My home lab runs Proxmox, TrueNAS, and a UniFi network stack. It handles media, file storage, DNS, and DHCP for the household, with compute and storage on separate machines.

01About

How this started

I'm in Term 3 of the Computer Systems Technician – IT Infrastructure and Services program at Conestoga College. My focus this term is networking, server administration, and Linux.

The lab runs services my household actually uses: media, file storage, DNS, and DHCP. Storage is ZFS with scheduled snapshots. Core network services live in VMs, not on the router.

It's where I take what class covers and put it into something that has to keep working. I built and maintain everything on this page.

02The Lab

Two boxes, one 10″ rack, four VLANs

Compute and storage are on separate boxes for the same reason enterprises split them. Either one can fail or get upgraded without touching the other.

Storage

TrueNAS SCALE

UGREEN DXP2800 · 2-bay NAS
poolZFS mirror, online
drives2 × 8TB IronWolf
sharesSMB + NFS
appsJellyfin + Nextcloud (Docker)
snapshotsscheduled
storesfile shares · website files
Compute

Proxmox VE

HP EliteDesk 800 G5 Mini
  • piholeDNS + ad blocking
  • rocky-dhcpretired · DHCP moved to CGMax natively
  • unifiretired · CGMax's own console now manages this directly
  • nginx-proxyTLS, 7 sites · cloudflared
  • wazuhSIEM · log aggregation
  • grafanametrics · Prometheus pending
  • trackerNutrition & Fitness Tracker
Compute

Proxmox VE

Mini PC · second node
  • docker-appsDocker + Dockge

Runs Nextcloud and Homepage, self-hosted file sync and a network status dashboard.

Network

VLAN segmentation

Switch Lite 8 PoE · U7-Pro-Max AP · Cloud Gateway Max (10.0.1.1)
vlan-layout · active configuration
VLAN NAME WHAT LIVES THERE
VLAN 1Maintrusted devices
VLAN 10Labservers, VMs, experiments
VLAN 20IoTcameras + smart devices
VLAN 30Guestisolated, internet only
# tagged per switch port, routed and firewalled at the gateway.
Remote access

No inbound ports forwarded

No inbound ports are forwarded. Public services are exposed through outbound Cloudflare Tunnels; Zero Trust policies decide who gets in.

cloudflaredZero Trust
Physical

DeskPi 10″ rack

Everything mounted, labeled, and cabled so problems are easy to trace.

Cameras

UniFi Protect

G4 Instants record on-prem with 15-day retention, on the IoT VLAN. Footage is stored on the Cloud Gateway Max's M.2 SSD.

The point

Documentation

I document builds and fixes as I go. If I can't explain a config choice, it doesn't ship.

Traffic flow

How external traffic reaches self-hosted services without opening inbound router ports.

traffic-ingress · external-to-origin pipeline
01
Internet
Client requests arrive over HTTPS (443) via public DNS.
02
Cloudflare Tunnel
Outbound-only connection, zero inbound ports open, Zero Trust policies decide who gets in.
03
nginx reverse proxy
TLS termination, clean hostnames, fronts 7 sites.
04
Services
Jellyfin Nextcloud Pi-hole fitness tracker 2 client websites portfolio
Proxmox LXCs & Docker apps isolated on dedicated VLANs.

What it runs

ServiceWhat it doesRuns on
Jellyfin Media streaming for the household. Movies, shows, music, no subscriptions. truenas
Pi-hole Network-wide DNS with ad and tracker blocking for every device proxmox
DHCP Address leasing served natively by the Cloud Gateway Max, not Rocky Linux cgmax
Nginx reverse proxy Clean hostnames and TLS termination. Fronts seven sites: dylanbpf.com, portal, tracker, watch, clientcentredcare.com, rcworldadventures.com, files.dylanbpf.com. proxmox
UniFi Network Retired as a VM. The Cloud Gateway Max's own built-in console manages the gateway, switch, and AP directly. proxmox
Nextcloud Private file hosting and sync, reachable at files.dylanbpf.com docker-apps
Fitness Tracker Nutrition & fitness logging app for myself and friends, workouts, food, calorie/protein goals proxmox
03The Rack

The plan & the real thing

On the left, the annotated build. The U7-Pro-Max AP is called out too, though it lives on a ceiling elsewhere in the house and won't show up in a photo of the rack itself. Hover or tap a dot to see what each device runs. On the right, the rack as built.

exhaust cloud gateway max router · firewall switch lite 8 poe u7-pro-max ceiling-mounted, not pictured elitedesk 800 g5 · proxmox dxp2800 · truenas scale rear-mount: btu 4-outlet pdu intake
bottom → top: intake · nas · proxmox · patch · switch · cgmax · exhaust · u7-pro-max ap branches off the switch, ceiling-mounted
My DeskPi 10-inch rack, built: Cloud Gateway Max, Switch Lite 8 PoE, patch panel, HP EliteDesk running Proxmox, and the UGREEN DXP2800 NAS, stacked top to bottom
as built
04Cameras

Why the cameras sit on their own VLAN

Before segmentation, every device shared one broadcast domain, cameras included. After, IoT traffic is walled off at the gateway.

vlan-topology · gateway firewall enforcement
DROP DROP ACCEPT live view only ACCEPT :443 firmware + cloud Cloud Gateway Max 10.0.1.1 · Gateway VLAN 1 Main trusted devices VLAN 10 Lab servers, VMs, experiments VLAN 20 IoT cameras + smart devices VLAN 30 Guest isolated, internet only Internet :443 egress ACCEPT DROP
05Lab Log

Currently on the bench

What's running, and what's still on the shelf.

  • complete
    TrueNAS and Proxmox online
    Both hosts are up and running. The ZFS mirror is healthy, snapshots are scheduled. I'm now building out and documenting the service stack on top.
  • complete
    Proxmox VM stack: Pi-hole, Nginx, Wazuh, Grafana
    Core network and security services each run in their own VM: DNS filtering, the Nginx reverse proxy, Wazuh SIEM, and Grafana dashboards. Prometheus is still being wired up as Grafana's metrics source. The Rocky Linux DHCP and UniFi controller VMs were built here too, then retired (see below).
  • complete
    Cloud Gateway Max online, VLANs live
    The Cloud Gateway Max is the LAN router at 10.0.1.1. Lab, IoT/Cameras, and Guest are segmented on their own VLANs, tagged per switch port and firewalled at the gateway.
  • complete
    Double NAT resolved, Rogers modem in bridge mode
    The ISP modem now just bridges the connection instead of routing; the Cloud Gateway Max handles routing, NAT, and the public IP directly. Cleaner path for port forwarding, VPN, and the Cloudflare Tunnel.
  • complete
    Nextcloud running in Docker, published via Cloudflare Tunnel
    File sync and hosting alongside Jellyfin on the NAS, published externally through dylanbpf.com's Cloudflare Tunnel with a Zero Trust access policy applied.
  • complete
    Rocky DHCP and UniFi controller VMs retired
    Both proved redundant once the Cloud Gateway Max handled DHCP and adoption natively. Powered off after confirming nothing depended on them.
  • complete
    Second Proxmox node: Nextcloud and Homepage live
    A mini PC running Docker and Dockge now hosts Nextcloud, self-hosted file sync at files.dylanbpf.com, and Homepage, a dashboard for the whole lab's status at a glance.
  • planned
    Windows Server / Active Directory lab on Proxmox
    Domain controller, users, GPOs. Built, documented, then torn down.
06Skills

What I work with

Home & coursework
Practiced in Both · Applied Theory
Core networking, systems, and virtualization skills learned in college labs and applied directly to my 24/7 homelab production.
VLANs DHCP DNS subnetting firewall rules network segmentation VM provisioning RAID SMB/NFS snapshots Rocky Linux Debian/Ubuntu systemd SSH bash Docker
Live homelab
Self-Hosted · 24/7 Live Hardware
Built, configured, and actively maintained on dedicated physical rack hardware outside the college syllabus.
UniFi Proxmox VE LXC containers TrueNAS SCALE ZFS docker compose Podman Dockge Cloudflare Zero Trust Wazuh SIEM least privilege Grafana log aggregation Prometheus (in progress) Pi-hole
Coursework labs
Conestoga College · Academic Curriculum
Enterprise routing, switching topologies, and firewall policies configured in structured academic labs.
Cisco IOS Juniper Junos Palo Alto firewalls

Education

Conestoga College

Computer Systems Technician – IT Infrastructure and Services · Term 3

Network security and ethical hacking this term. Cloud security and a capstone come in later terms. Everything I learn goes into the lab.

07Projects

Sites built & hosted here

Sites I built and host on my own infrastructure, fronted by the same Nginx + Cloudflare Tunnel setup described in The Lab.

live
Project - 1

Client Centred Care

A care agency offering respite, ADL, and staffing support for clients with autism, dual diagnosis, ADHD, physical disabilities, and other complex care needs.

self-hostedCloudflare TunnelNginx
View project →
live
Project - 2

RC World Adventures

An outdoor RC park: race cars on the track, crawl trucks up dirt terrain, or dig for gems with an RC digger and trade them in for prizes.

self-hostedCloudflare TunnelNginx
View project →
live
Project - 3

Nutrition & Fitness Tracker

A tracker I built for myself and friends. Logs workouts, supplements, and food with built-in calorie and protein goals, daily reminders, and several workout splits to help you stick to a routine.

self-hostedCloudflare TunnelNginx
View project →
08Contact

Say hi

Open to co-op placements, internships, and conversations about IT infrastructure.