Docs menu Overview

Home Lab

AlphaSec United, my home lab. A five-node Proxmox cluster behind a zone-segmented UniFi network, running an Active Directory forest, a Wazuh and Splunk security stack, monitoring, and the self-hosted services people actually use.

Updated Source in the repo: README.md Guides/README.md Architecture/README.md Operations/README.md Platforms/README.md COMPLETED.md

Home lab diagram

As of September 26, 2026
100%
Cloud servicesoutside the lab
Management Access VPN
WireGuard server on the gateway
NetBird peers
WireGuard mesh, my remote devices
NetBird managementNetBird dashboard
Proton VPN
WireGuard egress for Proton-WiFi and Gluetun
WireGuard client
Cloudflare
DNS for 4 zones, Tunnel, Access
cloudflared connectorCloudflare AccessLet's Encrypt wildcard
Playit.gg
TeamSpeak relay
Playit agent
GitHub, ghcr.io
Repository and container images
GitHub CLI
Microsoft 365 / Entra ID
Entra Cloud Sync, Intune, Azure Arc
Entra Cloud Sync agentAzure Arc agent
Action1
endpoint management
Action1 agentAction1 Deployer
VirusTotal, MalwareBazaar
Wazuh lookups and the weekly hash list
VirusTotal integrationMalwareBazaar hash list
Discord
#bots channel for Grafana and Splunk alerts
Discord alert bot
InternetWAN 1 live, WAN 2 failover
WAN 1 · Verizon Fios
primary uplink, 2.5 GbE into gateway port 1
WAN 2
DHCP failover, no link
UniFi Networkmanagement network, untagged
Ahsoka Gateway
UCG-Fiber · zone-based firewall
12 zones · 89 policies · 30 DNS records · Threat Management
UniFi NetworkLocal DNSThreat ManagementManagement Access VPNProtonVPN clientCEF syslog export
Bane Switch POE
USW-Pro-Max-16-PoE
10G DAC from gateway SFP+ 1
Mace Switch
USW-Flex-2.5G-5 · Flex Mini 2.5G
port 5 to Bane port 15, powered over PoE
Jango Switch
USW-Flex-2.5G-5 · Flex Mini 2.5G
port 5 to Mace port 4
Anakin AP
U7 Pro XG · 2.4, 5 and 6 GHz
Mace port 3 · 5 WLANs, 3 enabled
Clients and deviceswired, Wi-Fi and PoE
ethVLAN 50
Jedi PC
physical PC
Custom build, ASUS TUF Gaming X870-Plus WiFi
AMD Ryzen 9 9950X3D16 cores, 32 threads
32 GB DDR5, 2 × 16 GB
NVIDIA GeForce RTX 5070 Ti
2 TB NVMe, Samsung 9100 PROC:, Windows
2 TB NVMe, Samsung 990 PROD:, storage
MeshCentral agentRustDesk client
ethVLAN 60
ObiPC
DHCP · physical PC
Custom build, ASUS TUF Gaming B650-Plus WiFi
AMD Ryzen 7 7700X8 cores, 16 threads
32 GB DDR5, 2 × 16 GB
NVIDIA GeForce RTX 3070, 8 GB
1 TB NVMe, Samsung 980C:, Windows
500 GB NVMe, Crucial P310D:
Action1 agentMeshCentral agentApp Portal clientOpenSSHRustDesk client
eth
G6 Pro camera
UniFi Protect camera
PoE from Bane port 6
Wi-FiVLAN 10
Surface Pro
Wi-Fi laptop
Microsoft Surface Pro (2017), Model 1796
Intel Core, 7th generation2 cores, 4 threads
MeshCentral agent
Wi-FiVLAN 10
Parrot OS-Mac
Wi-Fi laptop
Apple MacBook Pro 15-inch (2017), MacBookPro14,3
Intel Core i7, 7th generation4 cores, 8 threads
16 GB LPDDR3
Wi-FiVLAN 10
M3 MacBook
Wi-Fi laptop
Apple M38 cores: 4 performance, 4 efficiency
Intune Company PortalMeshCentral agent
Galaxy cluster, Proxmox VEquorate, 5 of 5 nodes
trunkVLAN All
grey-server.galaxy
Custom build, MSI MS-7C91 board
AMD Ryzen 7 3700X8 cores, 16 threads
64 GB DDR4, 4 × 16 GB at 3200 MT/s
NVIDIA GeForce GTX 1080 Ti
1 TB NVMe, Crucial P310boot and local-lvm
2 TB SATA SSD, Crucial BX500ssd-lvm1, LVM-thin
2 TB HDD, Toshibahddpool-1, ZFS
Proxmox VENUT serverWazuh agentnode_exporter

Virtual Machines

security-01
VM 200 · Ubuntu 24.04
VLAN 72
Docker containers
Wazuh manager, indexer, dashboard
Wazuh MCP Serverread-only
Splunk Universal Forwarderto splunk-siem
VirusTotal integration
node_exportercAdvisorHawser
splunk-siem
VM 109 · Rocky Linux 10
VLAN 72
Services
Splunk Enterprise
Enterprise Security
SC4SPodman, forwards to HEC
node_exporter
HQ-DC01
VM 301 · Windows Server 2025
VLAN 65
Services
AD DS, DNS, GC
OpenSSHSSH Manager
HQ-DC02
VM 302 · Windows Server 2025
VLAN 65
Services
AD DS, DNS, GC
OpenSSH
HQ-MGT01
VM 303 · Windows Server 2025
VLAN 65
Services
Windows Admin Center
Entra Cloud Sync agent
Azure Connected Machine agent
Action1 Deployer
MeshCentral agent
HQ-WS001
VM 310 · Windows 11 Pro
VLAN 65
Services
Action1 agent
OpenSSHfrom Secure VLAN 50 only
ubuntu-dev
VM 105 · Ubuntu 26.04
VLAN 40
Services
Docker CE
VS Code
MCP clientsCodex, Claude Code
GitHub CLI
Samba
RustDesk clientto hbbs on docker-blue
node_exporterWazuh
win11-dev
VM 103 · Windows 11 Pro
VLAN 40
Services
OpenSSH Server
kali-pen
VM 102 · Kali Linux
VLAN 40

LXC Containers

docker-main
LXC 110 · Debian 12
VLAN 40
Docker containers
ImmichPostgreSQL and Valkey
Forgejoregistry
Dockhand
BookLoreMariaDB
Ollamaqwen3.5:2b
Open WebUI
App Portal
CLI Proxy API
Internal docs site
Dashboard
WUDWazuhnode_exporter

Templates

Templates
on grey-server
Templates
debian13-template
ws2025-template
ubuntu-cloud-template
trunkVLAN All
purple-server.galaxy
Lenovo ThinkCentre M920q Tiny
Intel Core i5-8500T6 cores, 6 threads
16 GB DDR4, 2 × 8 GB at 2400 MT/s
256 GB NVMe, Toshibaboot and local-lvm
250 GB SATA SSD, Samsung 850 EVOssd-lvm2, LVM-thin
Proxmox VEWazuh agentnode_exporter

Virtual Machines

edge-01
VM 121 · Debian 13
VLAN 30
Services
Caddyauto_https off
cloudflaredtunnel connector
Wazuhnode_exporter
app-01
VM 116 · Debian 13
VLAN 80
Docker containers
Coolify
Traefik (coolify-proxy)
PostgreSQLcoolify-db
Rediscoolify-redis
Coolify Realtime and Sentinel
cAdvisornode_exporterWazuh
alpha-prod-01
VM 401 · Debian 13
VLAN 80
Docker containers
TeamSpeak 3 Server x2ts-valorant-02, ts-valorant-03
TS3 Manager
TeamSpeak reachability collector
Playit agent
WUDcAdvisorHawserWazuhnode_exporter
trunkVLAN All
blue-server.galaxy
Lenovo ThinkCentre M910q Tiny
Intel Core i5-7500T4 cores, 4 threads
6 GB DDR4, 2 GB + 4 GB at 2133 MT/s
256 GB NVMe, Samsungboot and local-lvm
500 GB HDD, WDspare, not in use
Proxmox VEWazuh agentnode_exporter

LXC Containers

docker-network
LXC 107 · Debian 13
VLAN 85
Docker containers
Nginx Proxy Manager
NetBird server
NetBird dashboard
Wildcard certificate
WUDcAdvisorHawserWazuhnode_exporter
monitor-01
LXC 104 · Debian 13
VLAN 73
Docker containers
Prometheus
Grafana
Discord alert bot
Proxmox exporter
blackbox exporter23 probes
NUT exporter
PeaNUT
cAdvisorWUDHawserWazuhnode_exporter
ansible-01
LXC 100 · Debian 13
VLAN 40
Services
Ansible
Semaphore
Galaxy PXE
tftpd-hpa
Wazuhnode_exporter
docker-blue
LXC 108 · Debian 13
VLAN 40
Docker containers
Executor
Docker MCP Gateway x2
UniFi Network MCPfull access
SSH Manager MCP24 servers
RustDesk hbbs, hbbr
MeshCentral
WUDcAdvisorHawserWazuhnode_exporter
trunkVLAN All
red-server.galaxy
Lenovo ThinkCentre M920q Tiny
Intel Core i5-8500T6 cores, 6 threads
16 GB DDR4, 2 × 8 GB at 2666 MT/s
256 GB NVMe, Samsungboot and local-lvm
1 TB HDD, Seagatemedia-01 /data, bind mount
Proxmox VEWazuh agentnode_exporter

LXC Containers

media-01
LXC 842 · Debian 13
VLAN 40
Docker containers
JellyfinQuick Sync
Seerr
Sonarr
Radarr
Prowlarr
FlareSolverr
qBittorrentvia Gluetun
GluetunProton WireGuard, kill switch
WUDcAdvisorHawserWazuhnode_exporter
trunkVLAN All
green-server.galaxy
Lenovo ThinkCentre M920q Tiny
Intel Core i5-8500T6 cores, 6 threads
16 GB DDR4, 2 × 8 GB at 2666 MT/s
256 GB NVMe, Samsungboot and local-lvm
320 GB HDD, Hitachifailed its SMART test, not in use
Proxmox VEWazuh agentnode_exporter

No guests yet

PowerUPS
UPS-02
APC Back-UPS RS 1500MS2
gateway, Bane Switch, Verizon ONT, grey, blue, red
NUT serverPeaNUT
UPS-01
APC Back-UPS Pro BR1500MS2
Jedi PC
Firewall zones and VLANs12 zones, 16 routed LANs, 89 policies

Click a VLAN to light up its hosts.

Internal
Management
Untrusted
Dmz
AlphaSec-Identity
AlphaSec-Mgmt
AlphaSec-Observability
AlphaSec-Servers
AlphaSec-Access
External
Internet 1Internet 2ProtonVPN
Vpn
Management AccessFamilyVPNGame-AccessTemp
grey-serverpurple-serverblue-serverred-servergreen-servertrunk or uplink cableaccess cable in its VLAN colourWi-Fi
Flows, moving toward their target:
The lab as an interactive map: pan and zoom, search a host, and click anything for its details. Addresses are left out on purpose. Open full screen

This is my home lab, AlphaSec United. At its center is Galaxy, a five-node Proxmox VE cluster behind a zone-segmented UniFi network. It runs an Active Directory forest synced to Microsoft 365, a Wazuh and Splunk security stack, Prometheus and Grafana monitoring, and self-hosted services such as Immich, Jellyfin, Forgejo, Coolify and TeamSpeak.

These docs are written from my public repo, Duresa7/Homelab, which holds the guides, change records, inventories and incident reports behind every page here.

What it is for

The lab does two jobs at once.

  • It runs things people rely on. My photo and video library lives in Immich. Jellyfin serves the media library, with requests and downloads automated around it. Two TeamSpeak 3 servers host voice chat for my users. Forgejo is my own git server and private image registry, Ollama serves a small local model behind Open WebUI, and App Portal gives the locked-down ObiPC a self-service software catalog.
  • It is where I practice the infrastructure I want to be good at. Most of what runs here is identity, security monitoring, automation and the network segmentation around all of it: a two-controller Windows Server 2025 forest with tiered administration and Windows LAPS, Wazuh agents on fifteen hosts feeding Splunk Enterprise Security, Ansible and Semaphore patching the Linux fleet, and a UniFi gateway enforcing twelve firewall zones.

The lab changes faster than I can remember it. My own documentation site once published a VM I had already deleted and left out one I had added. So every figure in the repo, and on these pages, carries the date I last read it from the live system, and retired systems move to an archive instead of lingering in the current records.

At a glance

AreaCurrent stateChecked
ClusterFive Proxmox VE 9.2.11 nodes (grey, purple, blue, red, green), five of five votes, no shared storage, no HA resources2026-09-24
Guests18 (12 VMs, 6 LXCs) plus 3 templates; 16 running2026-09-24
NetworkUniFi Network 10.6.106 on the Ahsoka gateway, three switches, one access point; 23 networks, 16 routed LANs in 12 zones2026-09-24
IdentityForest ad.alphasecunited.com on HQ-DC01 and HQ-DC02 (Windows Server 2025); HQ-MGT01 runs Windows Admin Center 2.7 and the Entra Cloud Sync agent for Microsoft 3652026-09-25
SecurityWazuh 4.14.8 with 15 active remote agents (2026-10-02); Splunk Enterprise 10.4.0 with Enterprise Security 8.5.1 and SC4S taking UniFi CEF (2026-09-24)2026-10-02
MonitoringPrometheus 3.14.0 with 50 targets in 6 jobs, all up; Grafana 13.2.2 with 23 alert rules posting to one Discord channel2026-09-27
Access24 internal HTTPS names on Nginx Proxy Manager 2.15.1 with a DNS-01 wildcard certificate; NetBird 0.79.0 for remote access; the public services have a separate path2026-09-27
AutomationAnsible 14.2.0 and Semaphore 2.18.27 (3 projects, 23 templates); Dockhand 1.0.48 with Hawser agents on six hosts2026-09-24
WorkstationsJedi PC, my admin workstation, on Secure VLAN 50; ObiPC, a domain-joined Windows 11 PC on Secure Client VLAN 60, reachable over SSH again on 2026-09-272026-09-27

The full guest list, with what each guest runs, is on the inventory page.

Note: The repo publishes more detail than these pages do. I leave out internal addresses, service ports, account names and the public ingress path here; the linked repo records are the full reference.

How it got here

WhenWhat happened
2025The lab started as two desktop towers on a flat network, with every service reached by IP address. grey-server was running Proxmox VE by August 2025.
2026-05-27 to 2026-05-30I prepared Grey’s single-node cluster, Galaxy, and joined purple-server and blue-server to it. Immich moved to a new 2 TB drive on 2026-05-28.
2026-07-07red-server joined as the fourth node.
2026-07-09I started the documentation repo these pages are written from.
2026-07-10 to 2026-07-12A second Corosync link on its own VLAN, the NetBird and Nginx Proxy Manager access stack, and Wazuh and Splunk moved into Security-A.
2026-07-17 to 2026-07-26The media stack on media-01, two UPS units, a new boot drive for Purple, and monitoring moved to its own container and VLAN on Blue.
2026-07-27 to 2026-07-28UniFi zones consolidated and the management VLAN locked down. I retired the first Active Directory domain and Termix.
2026-07-31green-server was installed over UEFI PXE and joined as the fifth node.
2026-08-03Wazuh agents went out across the fleet, including all five nodes.
2026-08-06 to 2026-08-20Retirements: Syncthing, ai-bravo-02, the first TeamSpeak server, debian-dev (replaced by ubuntu-dev), Kasm Workspaces and supabase-01.
2026-08-29 to 2026-09-03Wazuh alerts flow into Splunk, UniFi’s intrusion prevention moved to Notify and Block, and Grafana and Splunk alerts started reaching Discord.
2026-09-04 to 2026-09-05Proxmox VE 9.2.11 on all five nodes, and the GTX 1080 Ti went to work for Ollama and then Immich.
2026-09-09 to 2026-09-10I built the ad.alphasecunited.com forest and connected it to Microsoft 365 through Entra Cloud Sync.
2026-09-11 to 2026-09-12app-01, edge-01 and alpha-prod-01 moved to Purple and ansible-01 to Blue. game-01 and its game servers were retired.
2026-09-15 to 2026-09-16Dockhand replaced Dockge, and then Portainer and its Edge Agents.
2026-09-20 to 2026-09-23Green failed a memory test, so win11-dev moved off it to Grey. Green has held no guests since.
2026-09-25 to 2026-09-28Weebarr, Homelab Dashboard and What’s Up Docker retired; Homarr arrived; BookOrbit replaced BookLore.
2026-10-02 to 2026-10-05Package updates on all twelve running Linux guests, Wazuh 4.14.8, and Sure deployed.

Every one of those changes has a dated record. The change history lists them all, one line each.

How the repo and these docs are organized

The repo is organized by who owns a thing, not by topic:

Repo folderWhat it holds
GuidesStep-by-step builds written for readers, each verified against the live system
ArchitectureDesigns that span several systems
InfrastructureThe UniFi network, the Galaxy cluster and the physical hardware
PlatformsOne folder per deployed service, with its config, change records, runbooks and troubleshooting
EngineeringShared tooling that is not run as a service
OperationsInventories and cross-system maintenance
SecurityIncident reports and security assessments
BackupsRedacted config copies taken before edits
ArchiveRetired systems and superseded records, under their original paths
AssetsEighteen generated diagrams and the generator that builds them

These docs regroup that material into seven sections:

Docs sectionPagesWritten mainly from
OverviewThis pageREADME.md, the folder READMEs
ArchitectureProxmox cluster, network, hardware, access paths, provisioningArchitecture/, Infrastructure/, Platforms/Galaxy PXE
PlatformsAutomation, containers, the Linux baseline, photos and media, TeamSpeak, other servicesPlatforms/, Guides/
Identity and endpointsActive Directory, endpoints, Microsoft cloudPlatforms/Active Directory, Action1, App Portal, Microsoft Intune, Windows Admin Center, Azure Arc
Security and monitoringWazuh, Splunk, monitoring and alerting, incident responsePlatforms/Wazuh, Platforms/Splunk, Platforms/Prometheus, Security/
OperationsInventory, maintenance, change history, roadmapOperations/, TODO.md, COMPLETED.md, Backups/, every Change Records folder
Retired systemsEvery retirement, Kasm Workspaces, game servers, Portainer, Syncthing, Homelab Dashboard, the TNIO AI bot, retired guestsArchive/

Each page names the repo files it was written from at the top, and the date those sources were last checked.

Lab map: the hosts grouped by what they do, from the network edge through identity, security and monitoring, applications, automation and remote control, to the Galaxy nodes, with the repo guide that covers each group

Where each repo guide lands: the hosts grouped by job, with the guide that covers each group.

Start here

If you read five pages, read these in order. It follows the start-here order in the repo’s README.

  1. Proxmox cluster: the five nodes, both Corosync links, and why there is no shared storage.
  2. Network: the VLANs, the twelve zones and the policy order that holds them apart.
  3. Linux host baseline: what every Linux guest gets before it carries a workload.
  4. Active Directory: two domain controllers, tiered OUs and Windows LAPS.
  5. Wazuh and Splunk: endpoint alerts, malware detection, and the dashboard they end up on.

Then the reference pages: the inventory for what runs where, maintenance for how it is kept current, and the roadmap for what is still open.

Browse the docs

Written from the public Homelab repository on GitHub, which records the lab's changes, incidents and current state.