greenbeanorg

Andy Alexander — Homelab & Infrastructure

Repositories

Multi-site homelab infrastructure, documented as production-style runbooks. I'm a Linux systems engineer, and this is where I design, break, fix, and document infrastructure. Everything here is real and running — Proxmox across two sites, ZFS storage on TrueNAS SCALE, OPNsense edge routing over XGS-PON fiber, a WireGuard overlay network, redundant DNS, and automated verified backups.

Network at a glance

flowchart TB
    INET((Internet
XGS-PON Fiber)) ONT[XGS-PON ONT-on-a-stick
SFP+ module] subgraph SW [MikroTik CRS310-8G+2S+ — RouterOS] BW[bridge-WAN
SFP+ cage + 1 port] BL[bridge-LAN
remaining ports] end subgraph WU [wu — Proxmox host, ODROID-H3] FW[OPNsense VM — Router / Firewall
Kea DHCPv4 · option 6 hands out both resolvers
WireGuard spoke] PH2[pihole2 · LXC 1000
Pi-hole, host install — secondary DNS] end PH1[pihole · ODROID-XU4
Armbian 26.8 / kernel 6.6
Pi-hole in Docker — primary DNS] subgraph SWG [swearengen — Proxmox host, i5-10600K / 48GB] NAS[TrueNAS SCALE VM
ZFS RAIDZ1 pool — PCIe SATA passthrough] FARN[farnum — Plex Media Server VM over NFS] HA[Home Assistant VM] end CLIENTS[LAN clients] KK1[kk1 · Oracle Cloud Ampere A1
WireGuard hub — static public endpoint
off-site restic target] subgraph REMOTE [Remote Site] ZOM[zombie · Debian VM
WireGuard spoke + subnet router] RPX[Remote Proxmox
Pi-hole + LinuxGSM game server] end INET --- ONT --- BW BW ---|"wu NIC 1 → WAN vNIC"| FW FW ---|"LAN vNIC → wu NIC 2"| BL BL --- CLIENTS BL --- PH1 BL --- SWG CLIENTS -. "resolver 1" .-> PH1 CLIENTS -. "resolver 2" .-> PH2 FW == "WireGuard" ==> KK1 ZOM == "WireGuard" ==> KK1 ZOM --- RPX SWG -. restic over SFTP .- KK1

Recently completed

In progress