Homelab

Here's a breakdown of everything running in my homelab — hardware, network, virtualisation, storage, monitoring and services.

Every once in a while someone asks me about my Homelab. This page covers the hardware, what's running on it, and how it all fits together. If anything's missing or you have questions, hit me up on @0xN1nja.

My homelab setup

Hardware

A mix of machines running different workloads, in a 27U 600x600mm network rack.

DeviceRoleSpecsOS
Netgear 1100Router / Firewall1 GB RAMpfSense+
TP-Link 8-PortManaged Switch
TP-Link Archer C6Access PointDual-band Wi-Fi
Raspberry Pi 4Monitoring2 GB RAMRaspberry Pi OS
HP LaptopPrimary hypervisori3 11th Gen, 24 GB RAMProxmox VE
Compaq LaptopBackup serverCore 2 Duo, 4 GB RAMProxmox Backup Server
Tower PCNASCore 2 Duo, 4 GB RAMUnraid

Network

Router / Firewall: Netgear 1100 running pfSense+. Handles DHCP, DNS, firewall rules, and VLANs.
Switch: TP-Link 8-port managed switch. All machines are connected through this.
Access Point: TP-Link Archer C6 in AP mode. DHCP is handled by pfSense, not the Archer. It's just an Access Point.
Remote Access: Tailscale. Every device in the lab is on a Tailnet, so I can reach anything from anywhere without poking holes in the firewall.
Netgear 1100 running pfSense+

Virtualisation — Proxmox VE

The HP laptop runs Proxmox VE, it has i3 11th-gen and 24 GB of RAM so it has enough headroom to run multiple VMs without issues.

I'm not using LXC containers right now. All self-hosted services run inside a Debian VM using Docker Compose. It is easier to manage, easier to move, and closer to how things would run in a real environment. A Windows 11 VM is also around for when I need it.

VMs: Debian and Windows 11
Proxmox VE dashboard

Backups — Proxmox Backup Server

The Compaq laptop has a Core 2 Duo with 4 GB RAM. It runs Proxmox Backup Server. It doesn't need to be fast, it just needs to be on and available. PBS integrates directly with Proxmox VE so every VM gets backed up on a schedule automatically.

PBS uses chunk-based deduplication — only changed blocks are written between backups. This makes incremental backups very efficient. Restores are checksum-verified and accessible straight from the Proxmox VE UI.

Proxmox Backup Server dashboard

Storage — Unraid

The tower PC runs Unraid. It has a Core 2 Duo with 4 GB RAM (sounds underpowered, but a NAS spends most of its time waiting for disk I/O, not crunching numbers, so it holds up fine)

Unraid's lets you mix drive sizes and add disks one at a time, with a single parity drive protecting against one disk failure. The array handles media and long-term storage; an SSD cache pool takes fast writes and flushes them to the array overnight. Everything is shared over SMB/NFS to the rest of the network.

Monitoring

The Raspberry Pi 4 is connected to a monitor and runs Raspberry Pi OS. It's dedicated to displaying the Grafana dashboard full-time, so I can see what's going on in the lab at a glance. It also runs some lightweight containers.

Metrics are collected via InfluxDB2 and visualised in Grafana using the Proxmox dashboard (10048). Covers node CPU, RAM, disk I/O, and network across both Proxmox hosts.

Grafana monitoring dashboard

Media Stack

Both Plex and Jellyfin point at the same media library. Plex for the polished apps and hardware transcoding; Jellyfin for accessing my media library remotely via Tailscale. The *arr stack handles everything before a file lands in the library.

The flow: request on Overseerr → Radarr or Sonarr picks it up → Prowlarr finds a source → SABnzbd or qBittorrent downloads it → the *arr app renames and moves it to the media library → Plex and Jellyfin see it automatically.

ServicePurpose
OverseerrRequest management and media discovery tool
RadarrMovie library management and downloads
SonarrTV show library management and downloads
LidarrMusic library management
ReadarrBook and eBook management
ProwlarrCentralised indexer management for all *arr apps
SABnzbdUsenet downloader
qBittorrentTorrent downloader
BazarrAutomatic subtitle downloads
TautulliPlex statistics and monitoring
ProfilarrQuality profile sync across *arr apps
TrailarrTrailer management
Media services dashboard

Other Services

Beyond the media stack, there's a collection of other self-hosted tools covering storage, productivity, monitoring, and utilities.

ServiceWhat it does
AdGuard HomeNetwork-wide ad and tracker blocking (runs on both Pi and main node)
NextcloudSelf-hosted cloud storage — self-hosted Google Drive
Paperless-ngxDocument management with OCR
ImmichPhoto and video backup — self-hosted Google Photos
MinifluxMinimal RSS reader
KaraKeepBookmarks, read-later, and web archiving
PortainerDocker container management UI (Pi and main node)
MealieRecipe management — import from URLs
GrafanaMetrics and monitoring dashboards
SearxngSelf-hosted meta search engine
Code ServerVS Code in the browser
GotifyPush notifications for lab alerts
NavidromeMusic streaming server, Subsonic-compatible
Changedetection.ioGet notified when a webpage changes
Calibre / Calibre-WebeBook library and browser-based reading
AudiobookshelfAudiobook and podcast server with progress sync
FilebrowserWeb-based file manager
StirlingPDFSelf-hosted PDF tools
IT ToolsDeveloper utilities
PairDropLocal network file sharing
MicrobinSelf-hosted pastebin
Services dashboard
Bookmarks dashboard
Gradient background