Nik Kantar

Sunday, August 7, 2022

Getting Back into Self-Hosting

It’s 2022 and self-hosting stuff is cool again.

It’s 2022 and self-hosting stuff is cool again.

I know, I know: “haha, very funny, Nik”, but I’m serious!

How I Got Here

My computering adventures started in the early 1990s, when I got my hands on a Commodore 64. I learned a tiny bit of BASIC, but was more interested in playing video games. As a result, I spent far more effort on the latter for about a decade, when I made some silly websites in high school, as many did around that time. It was in college that I started making more substantial things on the web.

At first, these were PHP + MySQL apps (often WordPress) deployed on shared web hosting servers, namely DreamHost’s. Eventually I moved to a VPS of my own, on Thoughtbug. As my needs evolved, I switched to Heroku for dynamic web apps (mostly Python + PostgreSQL at this point) and GitHub Pages for static sites. A few years ago I switched to Netlify for static sites due to their generous free tier. And just recently I moved almost everything to DigitalOcean’s App Platform.

Where I Am

Now, after many years of steadfastly avoiding the maintenance of my own servers, I’m ready to go at it again. I’ve already begun setting things up, too.

I’ll spare you the full internal monologue, which honestly isn’t all that interesting, and group my reasons into three buckets:

Ethical Reasons

There’s a lot to be said for maintaining control over one’s output. I’ve blogged on and off since high school, but have now consistently published on my own domain for eight consecutive years. I haven’t even put that domain in front of a service I can’t control—it’s always been mine.

Lately I’ve been feeling uneasy about my code on GitHub. GitHub being closed source always felt a bit off for a platform hosting so much of the world’s open source code, but things became extra suspicious with Microsoft’s acquisition thereof. Copilot is now a step too far, with its blatant disregard for licenses of the code it consumes for training purposes. Realistically, for as long as my code is on GitHub, I don’t get any real kind of say about how it’s used by the company.

Technical Reasons

I don’t think it’s ever been easier to self-host things.

Just this short list of some software that didn’t exist—at least in reasonably mature form—when I last managed much of anything on a server is impressive:

I’ve also gained years of experience with PaaS, The Cloud™, neworking, and other computery things, which ought to help.

Personal Reasons

Maybe it’s just a cyclical thing, but I want to self-host again.

Relying on managed services has its pros and cons, and at least at the moment I feel like the cons outweigh the pros. A lot of my anti-self-hosting reasoning in the past has been about the time cost of doing it right and questionable reliability. I think these days I have fewer projects, so I might have more time and energy for managing my infrastructure, and I’ve realized I don’t personally need to chase all those 9s of availability.

Caveats

I don’t by any means plan on strictly self-hosting everything. I’m not even sure what that would mean.

For example, I have no intention or desire to self-host email. I know it’s doable, but it just seems like a thing best left to a vendor. However, I do plan on moving off Gmail (probably to Fastmail), even if I’ve been threatening that for at least seven years now. I’m currently happy with Buttondown for my newsletter and Postmark for transactional emails. Somewhat relatedly, I won’t be starting a telco, with Twilio being a fine choice for programmatic SMS.

I also don’t plan on ditching Twitter for self-hosted Mastodon. If I felt an undeniable need to leave Twitter, I’d just leave and not look for anything to replace it. Same goes for Instagram, though that one I’m actually more inclined to leave.

In the end, this will all evolve, so it’d be silly to make too many definitive statements now.

Conclusion

I think self-hosting just might be a great option for me. And I think that may be the case for many others as well. And it’s definitely cool again. 😎

drawing of computer case with caption "my_server"


Tags: projects

Thanks for reading! You can keep up with my writing via the feed or newsletter, or you can get in touch via email or Mastodon.


Older:
Tests Are Docs
Newer:
Self-Hosting Follow-Up