I try to self-host nearly all the software and services I regularly use. This includes web servers, CI/CD, CalDav endpoints, game streams, matrix chat rooms / bridges, MacOS VMs, and much more.
This frees me from any one vendor’s control. Not only do I decide what to run, but self-hosting diminishes the impact of lock-ins, privacy breaches, and rising cloud hosting costs.
It’s an incredible learning tool as well. It’s often difficult to orchestrate your self-hosted cloud, but by trudging through errors, minimalizing downtime, and managing complexity you learn to operate a machine that’s entirely your own.
Abathur, Starcraft II
- 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. I could not recommend it more for your homelab especially after a few tweaks:
The following is a list of software I run on my homelab, in order of joy-sparking:
- Caddy Server
- I reverse proxy my external services once behind my EdgeRouter X
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)
- Home Assistant for IoT device control
- GitTea as my own git instance
- Drone CI running CI/CD of my projects
- Pi Hole DNS-wide adblocking
- WireGuard as a personal VPN
- AnonAddy for disposable email addresses
- Octoprint running my 3D printer
- 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
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
- Prometheus service metrics
- InfluxDB another source for Grafana
- Grafana service dashboards
- Sentry app error tracking
- 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: