Homelab
I try to self-host nearly all the software and services I regularly use. This includes web servers, CI/CD, game streams, matrix chat bridges, MacOS VMs, and much more.
Not only do I decide what to run, but self-hosting diminishes the impact of lock-ins, privacy breaches, and rising cloud hosting costs. Plus it’s cheaper than you might think.
Homelabbing an incredible learning tool as well. By trudging through errors, minimizing downtime, and managing complexity you learn to operate a linux server that’s entirely your own.
Abathur, Starcraft II
Content
System Hardware
- Ryzen 3700x (8 core, 16 thread processor)
- 128 GB of 3200MHz DDR4
- Nvidia RTX 2080
- x6 WD Easystore 10TB HDDs, shucked
- NVME/SATA SSDs adding up to 2TB, for container and VM disks
This retired gaming PC now runs Proxmox, mainly because of its price tag but also for its reputation as an excellent virtualization host. It solves some headaches out if the box, like the source of LTT’s most recent data loss. I could not recommend it more for your homelab, especially after a few tweaks:
Services
The following is a list of software I run on my homelab, by category:
Infrastructure
- Nomad a simpler alternative to Kubernetes.
- Orchestrates my ephemeral projects, like this website you’re reading.
- Matrix Synapse used for
- iMessage bridge
- Google Voice bridge (technically from IMAP)
- Server notifications with matrix.sh
- Some discord-like chat rooms
- Another avenue to contact me (@qcasey:matrix.quinncasey.com)
- GitTea as my own git instance
- Drone CI running CI/CD of My Digital Garden Infrastructure
- Pi Hole DNS-wide adblocking
- WireGuard as a personal VPN
- Octoprint running my 3D printer
- MinIO for my personal S3 replacement
- Caddy Server
- I reverse proxy my external services once behind my EdgeRouter X
Personal Cloud
- Home Assistant for IoT device control
- Nextloud for calendar and tasks
- Paperless-ng for document scanning and OCR
- Wallabag offline article saving/reading (think Pocket)
- Syncthing for file synchronization
- Jellyfin for watching movies/tv
- Hauk Self hosted location tracking
- LinkAce as a bookmark manager
- Snapdrop for peer-to-peer file sharing
- changedetection.io for detecting website changes
- FireFox send for encrypted link file sharing
MacOS Catalina OpenCore VM
Put together using this great guide by Nicholas Sherlock. It runs MacOS specific tools I need regularly:
- Mautrix imessage matrix bridge, gives me iMessage on Android
- AirPhoto, my hacky Go program for iCloud Photo Streams on Android
- iOS Development Environment, for testing/deploying React Native apps on iOS
Analytics VM
- Prometheus, Loki, and Grafana for collecting and visualizing logs + analytics about all my servers.
- Plausible for website analytics (except this site, I don’t track here)
- Sentry app error tracking
Volumio Music player VM
- Audio card and a Bluetooth dongle passed through, the server is now a speaker
Windows 10 Gaming
- Passed through an RTX 2080, allowing me to play games remotely with Moonlight.
I regularly watch these lists for new services to self host:
- https://github.com/awesome-selfhosted/awesome-selfhosted
- https://www.reddit.com/r/selfhosted/
- https://alternativeto.net/platform/all/?license=opensource&sort=popular
Regular Tasks
These aren’t applications, just things I have the server do regularly:
- Compress media from 1 AM to 5 AM each morning to x265 HEVC
- Rebuild LineageOS for my phone and [projects/chromium-patches/index.md] every month
- Print a test-page to an inkjet printer every Sat to ensure the ink doesn’t harden
- Backup my favorite youtube channels to disk every week