Homelab
2023-03-15
Motivation
My primary motivation for starting a homelab was to back up photo’s from my wife’s and my phones. We each had our photo’s already set to back up to google drive, but our 15Gb of free storage quickly ran out. I also had increased privacy concerns as we had just had our first child in 2015. Becoming a parent changed the way I look at the world, and what we put online. Over time this has morphed into some dearly loved services loved services for my family and a learning ground for myself.
Hardware
As of 2023 r/homelab can tell you, these things change frequently.
I currently run a dell r630, r720xd and dell optiplex 3040 for compute and storage, networking is run by a 24 port Cisco 3560G, eero pro 6 and symmetrical 1gb internet by vexus.
The r620 is my main workhorse, it has 2x Intel Xeon E5-2640’s @ 3.0Ghz, 384Gb RAM, and a few drives for local storage. Their nothing to write home about, a used Intel 800Gb SSD and two 380Gb 7.2kRPM WD black drives I had from an old laptop.
The dell Optiplex is my newest machine in the homelab, scrounged together from an e-waste bin. It has an Intel i6-6500 @ 3.2Ghz, 16Gb RAM, 256Gb SSD and 2TB platter drive. It also runs proxmox and is clustered with the r620.
The r720xd is the main storage server, running on 2x Intel Xeon E5-2637’s @ 3.80Ghz, and 192Gb RAM. OS sits on a 128Gb SSD, storage is comprised of 3 different ZFS pools, 4x6TB 7.2k RPM HDD’s as striped mirror, 2x 300GB 10k RPM drives in stripe, and 2x 1TB SSD’s in a mirror.
The r620 and optiplex both run Proxmox, the r720xd runs ubuntu server, but I’m thinking of changing it to proxmox for a proper 3 node cluster. The process of this migration has recently begun, the r720xd, affectionally called Heimdall, hosts almost all my storage, and used to run my docker containers. I’ve recently upgraded laptops and the old laptop has been made the new docker host. Leaving the r720xd to only run nfs, iscsi targets and Nextcloud. All three servers have a Broadcomm NetExtreme BCM5719 NIC installed, for the proxmox nodes, one slot is dedicated to corosync, the rest are bonded to the switch.
Services
My proxmox hosts run a number of different services for myself and my family. I have some commonly run home services like pihole, adguard, paperless-ng, minecraft and valheim servers, plex and jellyfin. I also host services for myself like a reverse proxy (nginx), gitlab, gitlab-runner, openVPN, Discord bot, and a few database servers (mariaDB, Mongo and Postgres). Most everything is version controlled in one way or another, VM’s are created by terraform, provisioned and updated by ansible. Though I will admit, terraform and the ansible side of things need work, each is mostly just basic working concept at the moment.