Hardware
Every physical piece of the lab, from the five Galaxy nodes and their drives to the UniFi gear, the two UPS units and the workstations. Each table says what the hardware is and what I use it for.
The lab is small: five Proxmox nodes, one UniFi gateway, three switches, one access point, two UPS units and two Windows workstations. This page lists all of it. The memory and storage figures are the 2026-09-24 readback through pvesh, and the module and disk models come from an SSH read of lscpu, dmidecode -t 17 and lsblk on all five nodes on 2026-09-27.
How the nodes are clustered is on Proxmox cluster, and how the network gear is configured is on Network.
At a glance
| Category | Count | Notes |
|---|---|---|
| Proxmox nodes | 5 | 30 physical cores, 38 hardware threads, 114.78 GiB usable memory |
| Boot drives | 5 | One NVMe per node |
| Data drives | 6 | Two SATA SSDs and four SATA HDDs |
| Gateway | 1 | Ubiquiti Cloud Gateway Fiber |
| Switches | 3 | One Switch Pro Max 16 PoE and two smaller UniFi switches |
| Access points | 1 | Tri-band UniFi AP |
| UPS units | 2 | APC 1500 VA / 900 W |
| Workstations | 2 | Jedi PC (admin) and ObiPC (end user) |
Galaxy nodes
The node names are colors. Grey is the founder and carries most of the load; the other four are small Intel machines.
| Node | Model | CPU | Cores / threads | Installed RAM (usable) | GPU | Disks | Power |
|---|---|---|---|---|---|---|---|
| grey-server | Not recorded | AMD Ryzen 7 3700X | 8 / 16 | 64 GB (62.72 GiB) | NVIDIA GeForce GTX 1080 Ti, discrete | 1 TB NVMe, 2 TB SATA SSD, 2 TB SATA HDD | UPS-02 |
| purple-server | Not recorded | Intel Core i5-8500T @ 2.10GHz | 6 / 6 | 16 GB (15.46 GiB) | Intel UHD Graphics 630, integrated | 256 GB NVMe, 250 GB SATA SSD | Not reported |
| blue-server | Lenovo ThinkCentre M910q | Intel Core i5-7500T @ 2.70GHz | 4 / 4 | 6 GB (5.68 GiB) | Intel HD Graphics 630, integrated | 256 GB NVMe, 500 GB SATA HDD | UPS-02 |
| red-server | Not recorded | Intel Core i5-8500T @ 2.10GHz | 6 / 6 | 16 GB (15.46 GiB) | Intel UHD Graphics 630, integrated | 256 GB NVMe, 1 TB SATA HDD | UPS-02 |
| green-server | Lenovo ThinkCentre M920q | Intel Core i5-8500T @ 2.10GHz | 6 / 6 | 16 GB (15.46 GiB) | Intel UHD Graphics 630, integrated | 256 GB NVMe, 320 GB SATA HDD | Not reported |
Blue’s model comes from its BIOS record (M1AKT35A, dated 2018-03-21), Green’s from the PXE and memory-fault records (BIOS M1UKT45A, dated 2019-07-11). The repository does not name the chassis for Grey, Purple or Red, so I leave those cells as not recorded rather than guess.
What each node does today:
| Node | Role | Memory in use (2026-09-24) |
|---|---|---|
| grey-server | Workload host for the development VMs, the SIEM, the identity plane, the main Docker host and every template. Also owns the USB data link to UPS-02. | 51.61 GiB of 62.72 GiB |
| purple-server | Application and production VMs on its NVMe | 11.68 GiB |
| blue-server | Four small LXCs: automation, monitoring, the access stack and a second Docker host | 2.99 GiB |
| red-server | The media container, with its library on the local HDD | 3.29 GiB |
| green-server | Nothing. It has unresolved host memory errors from 2026-09-20 and holds no guests until a full memory test passes. | 1.91 GiB |
Warning: Green’s memory fault is open. An online
memtesterpass on 2026-09-20 reported 25 failure lines, and a bounded 8 GiB test on 2026-09-27 failed six seconds after launch with a possible bad address line. Neither module nor slot is isolated yet, and that needs physical access.
Memory modules
| Node | Slot layout | Speed |
|---|---|---|
| grey-server | 4 x 16 GB DDR4, G.Skill F4-3600C18-16GVK | Configured at 3200 MT/s |
| purple-server | Micron 8ATF1G64HZ-2G6E1 8 GB + SK Hynix HMA81GS6AFR8N-UH 8 GB | 2400 MT/s |
| blue-server | Samsung M471A5644EB0-CPB 2 GB + SK Hynix HMA851S6AFR6N-UH 4 GB | 2133 MT/s |
| red-server | 2 x Micron 8ATF1G64HZ-2G6E1 8 GB | 2666 MT/s |
| green-server | Micron 8ATF1G64HZ-2G6E1 8 GB + SK Hynix HMA81GS6CJR8N-VK 8 GB | 2666 MT/s |
Blue and Green swapped memory on 2026-07-31: I moved Blue’s 8 GB module to Green and put a 2 GB Samsung module in Blue’s open slot. That is why Blue runs on 6 GB and has the least headroom in the cluster. Green’s two modules are non-ECC, and Linux exposes no EDAC instance on that machine, so the memory test is the only way to find the fault.
Drives
Slotted in the nodes
| Node | Device | Model | Capacity | Power-on hours | Wear used | Health | Role |
|---|---|---|---|---|---|---|---|
| grey | NVMe | Crucial CT1000P310SSD8 | 1 TB | 7,962 | 2% | PASSED | Boot and local-lvm |
| grey | SATA SSD | Crucial CT2000BX500SSD1 | 2 TB | 8,023 | 2% | PASSED | ssd-lvm1 thin pool |
| grey | SATA HDD | Toshiba DT01ACA200 | 2 TB | 45,831 | n/a | PASSED | hddpool-1 ZFS |
| purple | NVMe | Toshiba THNSF5256GPUK | 256 GB | 23,148 | 30% | PASSED | Boot and local-lvm |
| purple | SATA SSD | Samsung SSD 850 EVO 250GB | 250 GB | 45,242 | see note | PASSED | ssd-lvm2 thin pool, empty |
| blue | NVMe | Samsung MZVLW256HEHP-000L7 | 256 GB | 48,293 | 9% | PASSED | Boot and local-lvm |
| blue | SATA HDD | WDC WD5000LPVX-08V0TT5 | 500 GB | 23,215 | n/a | PASSED extended test | Unused, empty GPT |
| green | NVMe | Samsung MZVLB256HAHQ-000L7 | 256 GB | 36,965 | 11% | PASSED | Boot and an empty local-lvm |
| green | SATA HDD | Hitachi HTS723232A7A364 | 320 GB | 43,950 | n/a | FAILED extended test | Blank, do not use |
| red | NVMe | Samsung MZVLB256HAHQ-000L7 | 256 GB | 25,783 | 7% | PASSED | Boot and local-lvm |
| red | SATA HDD | Seagate ST1000LM035-1RK172 | 1 TB | 24,007 | n/a | PASSED | Media library bind mount |
Hours and wear are from the dated smartctl captures in July 2026. The 850 EVO publishes no percentage-used field; its 2026-07-28 capture shows a normalized wear-leveling value of 15 out of 100 with zero reallocated, uncorrectable and CRC errors.
A few of these have a story:
- Purple’s boot drive was replaced on 2026-07-25. The Samsung MZVLB256HAHQ it shipped with reached 169% of rated write endurance after 49,373 hours and about 105 TB written, reported a degraded-reliability critical warning and failed a short self-test. I cloned it with Clonezilla onto the lower-mileage Toshiba and added the 850 EVO on the SATA port at the same time.
- Green’s Hitachi HDD failed its extended test on 2026-07-31. The test stopped at 60 percent with a read failure and the pending-sector count went from one to two, while the top-level SMART flag still said
PASSED. I classify drives from the completed self-test, not the flag. The disk stays slotted for identification only, with its partition metadata wiped. - Blue’s WDC HDD passed a full extended read the same day, but it peaked at 48 C against the 32 C maximum operating temperature the drive itself reports. I want a temperature check under sustained load before it carries data. It also arrived with an old Proxmox volume group named
pve, which collided with Blue’s live one on the 2026-07-30 boot; I wiped it after confirming nothing on it was needed.
Spares and retired
| Drive | Capacity | Power-on hours | Wear used | Status |
|---|---|---|---|---|
| Samsung MZVLB256HAHQ-000L7 (M.2 NVMe) | 256 GB | 54,357 | 13% | Spare. Same model Red and Green boot from, so it is the drop-in if one wears out. |
| WDC PC SN720 SDAQNTW-512G (M.2 NVMe) | 512 GB | 29,603 | 6% | Spare. Passed an extended self-test. |
| Samsung MZVLB256HAHQ-000L7 (M.2 NVMe) | 256 GB | 49,373 | 169% | Retired 2026-07-25 from Purple. Kept only as the rollback path for Purple’s clone. |
I record drives by model and the last four characters of the serial, because four of my NVMe drives share one part number and the suffix is the only thing that tells their captures apart.
Network hardware
| Device | Model | Firmware (2026-09-24) | Uplink | Purpose |
|---|---|---|---|---|
| Ahsoka Gateway | Ubiquiti Cloud Gateway Fiber (UCG-Fiber) | 5.1.33.34087 | Internet 1 WAN | Routes all 16 LANs, runs the zone firewall, local DNS, DHCP, the WireGuard servers and Threat Management |
| Bane Switch POE | Ubiquiti Switch Pro Max 16 PoE (USW-Pro-Max-16-PoE) | 7.5.15.17146 | 10 GbE to Ahsoka port 6 | Core switch; Grey, Purple, Blue and Green plug in here |
| Mace Switch | UniFi device code USWED35 | 2.1.8.971 | 2.5 GbE to Bane port 15 | Downstream switch; feeds the access point and Jango |
| Jango Switch | UniFi device code USWED35 | 2.1.8.971 | 2.5 GbE to Mace port 4 | Downstream switch; Red plugs in here |
| Anakin AP | UniFi device code UAPA6A9, 2.4, 5 and 6 GHz | 8.7.11.19419 | Mace port 3 | The only access point |
All five were online with no upgrade pending on 2026-09-24. Their management interfaces live on the untagged Management network, which holds network gear only.
Node switch ports, from the 2026-07-10 check and the Green install:
| Node | Switch | Port | Profile |
|---|---|---|---|
| grey-server | Bane Switch POE | 14 | Proxmox-Trunk |
| purple-server | Bane Switch POE | 2 | Proxmox-Trunk |
| blue-server | Bane Switch POE | 3 | Proxmox-Trunk |
| green-server | Bane Switch POE | 4 | Proxmox-Trunk, PoE off (was Server-Provision during the PXE install) |
| red-server | Jango Switch | 3 | Proxmox-Trunk |
Power
| Unit | Model | Rating | Connected loads | Monitoring |
|---|---|---|---|---|
| UPS-01 | APC Back-UPS Pro BR1500MS2 (recorded by eye) | 1500 VA / 900 W, 10 outlets | Jedi PC only | None since 2026-08-28 |
| UPS-02 | APC Back-UPS RS 1500MS2 (as reported over NUT) | 1500 VA / 900 W, 10 outlets | Ahsoka Gateway, Bane Switch POE, grey-server, blue-server, red-server, Verizon ONT | USB data to grey-server, read over NUT by the monitoring host |
UPS-01 and UPS-02 are my inventory IDs; I have not labelled the physical units. I installed both on 2026-07-22. Red started on UPS-01 and moved to UPS-02 on 2026-08-28, which also unplugged UPS-01’s USB data cable. On 2026-09-07 I decided UPS-01 stays unmonitored, because it powers only the workstation.
The last readings I have:
| Unit | Date | State | Charge | Load | Estimated runtime |
|---|---|---|---|---|---|
| UPS-01 | 2026-07-22 | Online | 100% | 58% | 675 s |
| UPS-02 | 2026-08-31 | Online | 100% | 19% | 2,424 s |
UPS-02’s load rose from 17 to 19 percent and its runtime estimate fell from 2,895 to 2,424 seconds between those dates, which is Red arriving on the unit. These are point-in-time values, not rated runtimes. Purple and Green have no recorded power source.
Note: I have not recorded the physical location, purchase date, battery installation date, exact outlet, battery-backed versus surge-only bank, or measured wattage of either UPS. The inventory does not claim them.
Placement and remote power
Green is rack-mounted with no display attached. The rack has no managed PDU outlet assigned to it, and Green’s Intel AMT management ports do not answer, so when its first PXE install hung on 2026-07-31 the only recovery was the physical power button. Bane port 4 has PoE disabled and Green runs from its own Lenovo AC adapter, so cycling the switch port only interrupts Ethernet. The running driver reports Wake-on-LAN magic-packet wake enabled, but that wakes a sleeping machine and cannot reset a hung one. The remote power research lists the two real options: provision AMT locally, or put the adapter on a switched outlet.
Workstations
Jedi PC
My Windows 11 Pro administration workstation, on the Secure network (VLAN 50) and the only load on UPS-01. Its computer name is DURESAGAMINGPC.
| Part | Detail |
|---|---|
| Motherboard | ASUSTeK TUF GAMING X870-PLUS WIFI, AMI BIOS 1402 (2025-11-11) |
| CPU | AMD Ryzen 9 9950X3D, 16 cores / 32 threads |
| Memory | 2 x 16 GB G.Skill DDR5 F5-6000J3038F16G, rated 6000 MT/s, running at 4800 |
| GPU | NVIDIA GeForce RTX 5070 Ti, plus the Ryzen iGPU |
| Storage | Samsung SSD 9100 PRO 2TB (C:) and Samsung SSD 990 PRO 2TB (D: Storage) |
| Network | Realtek PCIe 2.5GbE |
| OS | Windows 11 Pro, installed 2025-07-15 |
ObiPC
The first physical end-user workstation on the ad.alphasecunited.com domain, on Secure Client (VLAN 60) with DHCP. It joined on 2026-09-11 and was reinstalled and rejoined on 2026-09-18 after a corruption I did not diagnose. I shut it down on 2026-09-20.
| Part | Detail |
|---|---|
| Motherboard | ASUS TUF GAMING B650-PLUS WIFI, AMI BIOS 3201 (2025-01-10) |
| CPU | AMD Ryzen 7 7700X, 8 cores / 16 threads |
| Memory | 2 x 16 GB G.Skill DDR5 F5-6000J3636F16G, running at 4800 (no EXPO profile) |
| GPU | NVIDIA GeForce RTX 3070, plus the Ryzen iGPU |
| Storage | Samsung SSD 980 1TB (C:) and Crucial P310 500GB (D: Storage, empty) |
| Network | Realtek 2.5GbE wired (domain-facing); Realtek Wi-Fi 6 adapter, disconnected |
| Firmware | UEFI with Secure Boot on, AMD firmware TPM 2.0 |
| OS | Windows 11 Pro 25H2, build 26200 |
Other admin devices
Two laptops on Trusted (VLAN 10) have no hardware record yet: a Surface Pro (Model 1796) running Ubuntu, and Parrot OS-Mac, a MacBook Pro (MacBookPro14,3) running Parrot Security 7.3. Parrot OS-Mac got the same admin access as my MacBook Air M3 on 2026-09-27. The MacBook Air and a Pixel phone are the other personal admin devices the firewalls name.