Architecture
My home lab grew from a single workstation into a dedicated network with several servers and household devices. The lab includes a Raspberry Pi cluster, two Lenovo ThinkCentre M90n systems, and a Lenovo IdeaPad 3 15ITL6. A firewall, two routers, a switch, and four access points connect the network.
Diagram
Section titled “Diagram”The diagram shows the home lab and its network connections.
Raspberry Pi Cluster
Section titled “Raspberry Pi Cluster”Three Raspberry Pi 4B nodes, each with 4GB of RAM and a 500GB SSD, run Docker Swarm and supporting services for the home lab.
| Property | Value |
|---|---|
| Hostname | rpi01 |
| Operating System | Ubuntu 24.04.4 LTS |
| Kernel Version | Linux 6.8.0-1056-raspi #60-Ubuntu SMP PREEMPT_DYNAMIC Thu May 7 21:58:14 UTC 2026 |
| Architecture | aarch64 |
| CPU | Cortex-A72 |
| CPU Cores | 4 |
| Logical CPUs | 4 |
| Total RAM | 3.74GB |
| Swap Memory | 0.00B |
| Disk Hardware | sda (00SSD1: 465.76GB) mmcblk0: 119.08GB |
| Disk Partitions | /dev/sda2 (/): 457.91GB |
| Network Devices | eth0 |
| IP Address | 10.102.0.200/20 |
| IP Addresses | 10.102.0.200/20 |
| Property | Value |
|---|---|
| Hostname | rpi02 |
| Operating System | Ubuntu 24.04.4 LTS |
| Kernel Version | Linux 6.8.0-1056-raspi #60-Ubuntu SMP PREEMPT_DYNAMIC Thu May 7 21:58:14 UTC 2026 |
| Architecture | aarch64 |
| CPU | Cortex-A72 |
| CPU Cores | 4 |
| Logical CPUs | 4 |
| Total RAM | 3.74GB |
| Swap Memory | 0.00B |
| Disk Hardware | sda (ASMT1051: 465.76GB) mmcblk0: 119.08GB |
| Disk Partitions | /dev/sda2 (/): 457.91GB |
| Network Devices | eth0 |
| IP Address | 10.102.0.199/20 |
| IP Addresses | 10.102.0.199/20 |
| Property | Value |
|---|---|
| Hostname | rpi03 |
| Operating System | Ubuntu 24.04.3 LTS (Noble Numbat) |
| Kernel Version | Linux 6.8.0-1045-raspi #49-Ubuntu SMP PREEMPT_DYNAMIC |
| Architecture | aarch64 |
| CPU | Raspberry Pi 4 Model B Rev 1.4 |
| CPU Cores | 4 |
| Logical CPUs | 4 |
| Total RAM | 3.74GB |
| Swap Memory | 0.00B |
| Disk Hardware | sda (00SSD1: 465.80GB) mmcblk0: 119.10GB |
| Disk Partitions | /dev/mmcblk0p2 (/): 116.69GB /dev/sda1 (/data): 465.80GB |
| Network Devices | wlan0 eth0 |
| IP Address | 10.102.0.198/20 |
| IP Addresses | 192.168.18.198/24 10.102.0.198/20 |
Proxmox Cluster
Section titled “Proxmox Cluster”The Proxmox VE 9.x cluster has three nodes: two Lenovo ThinkCentre M90n systems named bell and baklouti, and a
Lenovo IdeaPad 3 15ITL6 named rocotillo.
Lenovo ThinkCentre M90n (bell)
Section titled “Lenovo ThinkCentre M90n (bell)”Bell is a small-form-factor Lenovo ThinkCentre M90n with an Intel Core i5, 16GB of RAM, a 1TB SATA SSD, and a 1TB NVMe SSD. It runs Proxmox VE and hosts virtual machines and containers.
| Property | Value |
|---|---|
| Hostname | bell |
| Operating System | Debian GNU/Linux 13 (trixie) |
| Kernel Version | Linux 7.0.6-2-pve #1 SMP PREEMPT_DYNAMIC PMX 7.0.6-2 (2026-05-29T11:08Z) |
| Architecture | x86_64 |
| CPU | Intel(R) Core(TM) i5-7500T CPU @ 2.70GHz |
| CPU Cores | 4 |
| Logical CPUs | 4 |
| Total RAM | 15.51GB |
| Swap Memory | 8.00GB |
| Disk Hardware | sda (CT1000BX500SSD1: 931.51GB) nvme0n1 (CT1000P3PSSD8: 931.51GB) |
| Disk Partitions | /dev/mapper/pve-root (/): 93.93GB |
| Network Devices | enp0s31f6 vmbr0 |
| IP Address | 10.102.0.2/20 |
| IP Addresses | 10.102.0.2/20 |
Lenovo ThinkCentre M90n (baklouti)
Section titled “Lenovo ThinkCentre M90n (baklouti)”Baklouti is a small-form-factor Lenovo ThinkCentre M90n with an Intel Core i5, 20GB of RAM, and a 1TB SATA SSD. It runs Proxmox VE and hosts virtual machines and containers.
| Property | Value |
|---|---|
| Hostname | baklouti |
| Operating System | Debian GNU/Linux 13 (trixie) |
| Kernel Version | Linux 7.0.6-2-pve #1 SMP PREEMPT_DYNAMIC PMX 7.0.6-2 (2026-05-29T11:08Z) |
| Architecture | x86_64 |
| CPU | Intel(R) Core(TM) i5-7500T CPU @ 2.70GHz |
| CPU Cores | 4 |
| Logical CPUs | 4 |
| Total RAM | 19.42GB |
| Swap Memory | 8.00GB |
| Disk Hardware | sda (CT1000BX500SSD1: 931.51GB) |
| Disk Partitions | /dev/mapper/pve-root (/): 93.93GB |
| Network Devices | enp0s31f6 vmbr0 |
| IP Address | 10.102.0.3/20 |
| IP Addresses | 10.102.0.3/20 |
Lenovo IdeaPad 3 15ITL6 (rocotillo)
Section titled “Lenovo IdeaPad 3 15ITL6 (rocotillo)”The Lenovo IdeaPad 3 15ITL6 is a repurposed laptop with an 11th-generation Intel Core i7, 24GB of RAM, and a 512GB NVMe SSD. It runs Proxmox VE as the third node in the cluster, hosting virtual machines and containers.
| Property | Value |
|---|---|
| Hostname | rocotillo |
| Operating System | Debian GNU/Linux 13 (trixie) |
| Kernel Version | Linux 7.0.2-6-pve #1 SMP PREEMPT_DYNAMIC PMX 7.0.2-6 (2026-05-20T08:55Z) |
| Architecture | x86_64 |
| CPU | 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz |
| CPU Cores | 4 |
| Logical CPUs | 8 |
| Total RAM | 23.26GB |
| Swap Memory | 8.00GB |
| Disk Hardware | nvme0n1 (KINGBANK KP230: 476.94GB) |
| Disk Partitions | /dev/mapper/pve-root (/): 93.93GB |
| Network Devices | wlp2s0 vmbr0 |
| IP Address | 10.102.0.4/20 |
| IP Addresses | 10.102.0.4/20 |
Network
Section titled “Network”Internet Links
Section titled “Internet Links”Two fiber connections provide 750Mbps download and 150Mbps upload speeds with failover. A Ubiquiti UCG Ultra balances the connections, routes the VLANs, protects the network, and manages the wireless networks and SSIDs.
Switch
Section titled “Switch”An eight-port, 1Gbps Layer 2 TP-Link switch connects the lab and network devices.
Access Points
Section titled “Access Points”Four Ubiquiti U6 Mesh access points provide wireless coverage throughout the house. The Ubiquiti UCG Ultra manages three SSIDs for the main, guest, and lab networks. The lab SSID connects to the same VLAN as its wired devices.
Subnets
Section titled “Subnets”The Ubiquiti UCG Ultra manages several subnets that separate devices by purpose.
