Motivation for a Home Server
This guide might be for you if:
- You want to take more control of your digital life (which for most of us is growing exponentially by the year)
- You hate the SaaS/subscription era we’re living in and miss having control of the things you’re consuming
- You’d like to get your hands dirty with open source apps, operating systems (Linux), or networking
Background (with bonus personal ramblings)
Looking back on my history with computers, I realize now that I’ve managed to do very little experimentation with home servers and networking, which I find to be a glaring hole in my resume. There are a million+ different directions you can take a home server in, but as time goes on we’re becoming more and more spoiled with options to avoid going down the self-hosted, time-to-learn-networking rabbit hole. My networking familiarity timeline looks something like this:
- I started using computers in the late 90s, but this was mostly for games (so the closest I got to programming was probably Neopets or MySpace HTML/CSS - networking wasn’t in the picture for me yet, just floppies and AOL)
- As early as the mid-2000s, my ISP provided static storage for hosting simple HTML pages, and this satisfied all of my personal use-cases until undergrad (which also provided web hosting); for various reasons at the time I also skipped networking electives in favor of other computer science courses in high school
- In the front half of the 2010s, my best friend and I were having NAT issues trying to play Call of Duty on two different Xboxes from the same house (and most gamers of this era will remember having NAT Type headaches)…this time I did finally get my hands dirty with router admin pages and basic networking, but I didn’t go so far as to uninstall stock firmware just yet
- Cloud providers were really starting to accelerate in the back half of the 2010s, and their free tiers were already enough for hosting my initial portfolio projects, well before my career change
- We now operate in the SaaS/Subscription era, where most of us have accepted paying a few $ a month to someone else to host the things we like, and they’re ready for us on-demand when we need/want them (our music, movies, passwords, notes, emails, etc.)
- Even in my first few years as a software engineer, I find that many networking concepts have been abstracted away by other DevOps teams at the company
I think the ultimate takeaway from all of this is that like most things in life, we’re dealing with tradeoffs here. Do I spend my time and energy to learn self-hosting, or do I spend my money to have someone else do it for me?
I’ve finally reached a turning point where I feel empowered to move more and more of the services I care about to a self-hosted server. It started earlier this year when my partner and I wanted to watch some of our older movies and shows on the TV downstairs, but the tech hub in the house is upstairs in my office…“surely there’s a way for me to stream these on our LAN?” The first answer was Jellyfin server running on my MacBook Pro + Jellyfin client running on the downstairs Apple TV, which worked well enough.
The true tipping point came when I went to share my (rather large) collection of local music files with him a few weeks ago. It was all sitting in Apple Music, which honestly still has decent support for your local library and (if you’re a paying customer) pretty-seamless streaming to your iPhone when you’re out of the house…but as far as I know there’s no easy or intuitive way to share it to another Windows PC on the local network.
You might wonder why we don’t just listen to what is on Apple Music, and that’s because:
- Most of my collection is video game soundtracks that simply aren’t on Apple Music, or any of the popular streaming services
- I despise it when songs I like are removed from Apple Music, which is a small piece of a much larger societal trend where we no longer own things that we’re paying for (and in this context I’m mostly referring to digital goods like games and music, but this can be extrapolated to pretty much anything relying on a computer chip these days, and has been forecasted by some for over a decade)
With this practical + personal rationale gnawing at me, it was time to start experimenting…so here we are.