We use Raspberry Pi (RPi) Single-Board computers (SBCs) for various applications in our Home Lab.
We use rack-mount cases for many of our RPIs for Uctronics. Rack Mounting our RPi’s takes less space and enables additional features, including Solid-State Disk (SSD) storage and displays. We’ve added a PoE hat to each of our RPi’s to allow powering the units via ethernet.
These cases feature removable rack-mount carriers for four Raspberry Pi SBCs. The package includes boards that enable SSD storage as the RPi’s main drive.
Each Pi Rack module adds some nice features for the associated Raspberry Pi, including:
- A display showing the RPi’s IP address, operating parameters, and temperature
- Front panel access to the SD card slot
- SSD Storage via either a 2.5″ SSD Drive (4B Model) or an NVMe drive (5 Model)
- Convenient access to the PI’s USB connections
- Indicator lights for SSD and SD card activity
The following configuration changes are sometimes required to enable the RPi’s IP address to be displayed:
# Turn off deterministic network names # sudo raspi-config (change the option under 'advanced' # Add the following to the end of the line # vi /boot/firmware/cmdline.txt net.ifnames=0 biosdevname=0 :wq # sudo reboot
The case also includes cooling fans to keep the RPi’s cool.
The following are some server applications that run on Raspberry Pi Systems in our Home Lab.
Network UPS Tools (NUT) Servers
We use the Network UPS Tools software running on Raspberry Pi computers to manage our critical UPS devices. This software allows us to remotely monitor their operational condition and enables our Storage Devices and Servers to sense conditions when a complete backup power loss is imminent and perform a controlled shutdown to protect themselves and the data that they store. You can find a summary of the available features here.
You can find more information on our NUT servers here.
PiLAB
We built a Raspberry Pi 4B System to demonstrate using a RPi to build a simple home server. The hardware used for PiLAB is as follows:
- An 8 GB Raspberry Pi 4B Single-Board Computer
- A Raspberry Pi PoE+ HAT with Low Profile Heatsink
- A 1TB 2.5″ SSD Drive
We are running CasaOS on PiLAB, which provides a simple GUI interface for managing file sharing and Docker containers.
The applications running as docker containers on PiLAB include:
- PiHole Ad Blocking DNS
- A local speed test server (OpenSpeedTest)
- An Internet speed monitor (MySpeed)
- A simple SMB-base NAS
- Portainer for managing docker containers
PiNAS
We also built a variation of PiLAB we call PiNAS. This system uses a Raspberry Pi 5 SBC running CasaOS and a larger NVMe drive to build a more capable NAS. PiNAS is installed in a stand-alone case with an external power supply.
You can learn more about PiNAS here.
PiHole Server via Docker
We have set up a Raspberry Pi 5 system to run a third PiHole DNS server in our network. This ensures that DNS services are available even if our other servers are down.
This system is installed in our Raspberry Pi 5 Rack Mount system. You can learn more about this system here.
Raspberry Pi 5 Proxmox Cluster
We built a three-node Proxmox cluster using Raspberry Pi 5 SBCs. This system is installed in our Raspberry Pi 5 Rack Mount system. Each node includes the following hardware:
- Raspberry Pi 5B with 16 GB RAM
- 2 TB NVMe storage drive
- PoE HAT for power
- Plugable 2.5GB USB-C Ethernet Adapter – Two on each RPi for additional Network Interfaces
We used the procedure in the video above to install Proxmox on our Raspberry Pi 5 nodes.
This is a high-availability cluster for application testing before deployment on our production Proxmox cluster. It also uses our Proxmox Backup server and the upcoming Proxmox Data Center Manager.
Networking Configuration
Virtual Bridge | Purpose | VLAN | Speed | Adapter |
---|---|---|---|---|
vmbr0 (Mgmt) | Proxmox Management | Computers | 1 GbE | USB-C Adapter #1 |
vmbr1 (LS Svcs) | Low-Speed Services | All VLANs | 1 GbE | RPi Ethernet |
vmbr2 (Storage) | HA Storage for VMs/LXCs | Storage | 2.5 GbE | USB-C Adapter #2 |
We added two USB-C 2.5 GbE adapters to each node to enable the networking configuration in the table above.