25 July 2025

Home Server

Basement rack installation (Old setup)

Old rack mounted setup

Homelab Rack Build

This homelab rack was built using standard 19” profiles from Thomann, mounted on a simple wooden frame and placed above the basement stairway.

The rack contains the following items:

To power this rack, I drawn a dedicated power line from the house’s main electrical cabinet, protected by its own circuit breaker to power this setup. For networking, a direct CAT.7 Ethernet cable (Sommer Cable) connects the rack to the house router and allows for future high-speed upgrades.

In addition, an externally powered USB hub (visbible on the middle of the diagonal bar on the right) connects additional devices to the R610 server. For example, two TNT TV tuners are attached, enabling direct streaming of multiple TV channels across the network.

Finally, two Ethernet cables from the R610 are routed to:

N.B. Even though iDRAC provides remote KVM access, I also set up a console screen with a USB keyboard on a movable arm, just in case hands-on management is required.

System

Both servers act as hypervisors running Debian distributions with all drives encrypted (except for the bootloader).

The R610 on top hosts most of the front-facing and application services of the system.

Firewall

The R610 runs a virtualized pfSense firewall, separating the network into three zones mapped to the server’s physical Ethernet ports:

In addition, the firewall provides a VPN service: originally OpenVPN, later replaced by WireGuard for higher performance. It also runs a Squid proxy configured with a blacklist from Université de Toulouse to block ads and improve caching efficiency.

Web Servers

Standard HTTP(S) ports (80 and 443) are redirected to a dedicated virtual machine acting as a reverse proxy, powered by nginx. This VM manages TLS encryption and virtual hosts, allowing multiple websites to be served from a single IP address. Certificates are provided by Let’s Encrypt with automatic renewal through certbot and crontab.

Another virtual machine handles most application services, primarily using Docker, including:

Storage

The R710, located at the bottom of the rack, is responsible for storage. It is fully populated with 2 TB hard drives configured in hardware-accelerated RAID 5. Cold backups are maintained on multiple external drives over the network (a less-than-ideal approach, I must admit).

For remote file access, the server provides:

This server also hosts several databases:

In addition, it runs two dedicated virtual desktops (a Windows VM and a Linux Mint VM) to provide always-on sessions, although these are rarely used in practice.

Current Home Lab Setup

After several upgrades, the original rack-based system was replaced with a more compact, discreet, and quiet machine hosted directly in my living room. The UPS was also downsized to an APC Back-UPS Pro 900, which integrates easily with Linux.

This new system is built on an AMD Epyc CPU, a SuperMicro motherboard, and includes an Nvidia RTX 2080 Ti.

New setup

Changes Compared to the Old Setup

The goal was to simplify: a smaller footprint, greater efficiency, lower noise, and something reliable enough to just work in the background. Notably, the system now runs on a single machine, and external optional gadgets such as the TV tuners have been removed.

The addition of a GPU enables new projects involving machine learning workloads, such as:

In addition, I recently developed a custom PCIe board, powered directly by the server’s PSU, to control home lighting. This integrates with a Home Assistant instance running on this very same machine.