Skip to content

Architecture

The home lab grew over time, from my sole workstation to a more complex setup with multiple devices and a dedicated network. The homelab is composed of a few devices, some of them are part of the lab, others are part of the network, and others are part of the house. The lab is composed of a Raspberry Pi cluster, a Dell Optiplex, and a Lenovo ThinkCentre M90n. The network is composed of a switch, a firewall, two routers, and a few access points.

The diagram below shows the architecture of the homelab and the network.

The Home Lab

The Raspberry Pi cluster is composed of three Raspberry Pi 4B, with 4GB of RAM each, and a 500Gb SSD connected to each of them. The cluster runs Docker Swarm and host supporting services for the home lab.

PropertyValue
Hostnamerpi01
Operating SystemUbuntu 24.04.3 LTS (Noble Numbat)
Kernel VersionLinux 6.8.0-1045-raspi #49-Ubuntu SMP PREEMPT_DYNAMIC
Architecturearm64
CPURaspberry Pi 4 Model B Rev 1.4
CPU Cores4
Logical CPUs4
Total RAM3.74GB
Swap Memory0.00B
Disk Hardwaresda (00SSD1: 465,8G)
mmcblk0: 119,1G
Disk Partitions/dev/mmcblk0p2 (/): 116.69 GB
/dev/sda1 (/data): 465.8 GB
Network Deviceswlan0
eth0
IP Address10.102.0.200/24
IP Addresses192.168.18.200/24
10.102.0.200/24

I’m running Proxmox VE 9.x on two Lenovo ThinkCentre M90n devices, named bell and baklouti. Both devices are small form factor desktop computers.

The Lenovo ThinkCentre M90n is a small form factor desktop computer, with an Intel Core i5, 16GB of RAM, a 1Tb SATA SSD and a 1Tb NVMe SSD. It is running Proxmox, a hypervisor based on Debian, and is used to run virtual machines and containers.

PropertyValue
Hostnamebell
Operating SystemDebian GNU/Linux 13 (trixie)
Kernel VersionLinux bell 6.17.4-2-pve #1 SMP PREEMPT_DYNAMIC PMX 6.17.4-2 (2025-12-19T07:49Z) x86_64 GNU/Linux
Architecturex86_64
CPUIntel(R) Core(TM) i5-7500T CPU @ 2.70GHz
CPU Cores4
Logical CPUs4
Total RAM15.43GB
Swap Memory32.00GB
Disk Hardwaresda (CT1000BX500SSD1: 931,5G)
nvme0n1 (CT1000P3PSSD8: 931,5G)
Disk Partitionspve-root(/): 794.3 GB
/dev/sda1 (/DATA): 915.82 GB
Network Devicesenp0s31f6
wlp2s0
vmbr0
IP Address192.168.18.2/24
IP Addresses192.168.18.2/24
10.102.0.2/24

The house has two internet links used in a failover configuration. Both links are fiber links with 750Mbps download and 150Mbps upload. The links are connected to an Ubiquiti UCG Ultra, working as a firewall and responsible for load balancing the links, partitioning the network into VLANs, and managing the Wireless networks and SSIDs.

The network switch is a small 1Gb L2 TP-Link switch, with 8 ports, used to connect the devices in the lab and the network.

The house has four Ubiquiti AP-U6-Mesh access points, providing wireless coverage to the entire house. The access points are connected to the switch and managed by the Ubiquiti UCG Ultra. There are three SSIDs, one for the main network, one for guests, and one for the lab, witch is also connected to a cabled VLAN.

The network is divided into several subnets, each one with its own purpose and devices. The subnets are managed by the Ubiquiti UCG Ultra firewall/router.

Home Lab Subnets Details