Comment by simias
8 years ago
I'm my own sysadmin (for personal email, small HTTP server, an OpenVPN and a few other minor services for personal use) and while it did take me a non-negligible amount of time to get things running smoothly it now only requires a few minutes of attention every other week to apply security updates and make sure my backups are running smoothly. In exchange for that I have total control over my data and basically unlimited customization potential. I'm definitely not planning on stopping that.
I do use Github regularly however, but it's because of the "social network" aspect. If you want to interact with many open source projects it has to be on github nowadays. The network effect is strong.
Congratulations, you can configure your own mail server. You're already one in a million. Out of that group, maybe one in a hundred can do it nearly as securely as one of the big services. This is the reason why people use the big centralised services, and also the reason smaller ones don't survive: email is ridiculously over-complicated. You won't convince anyone it isn't by explaining that you managed to DIY in under a week.
Fortunately, rolling your own git isn't nearly as hard, and the percentage of people who could run a node compared to total users is larger. Hell, every person using git also has a fully-functional, secure and standard self-hosting stack already installed. Getting a GitHub-like web interface is similarly easy. This fundamentally reduces the risk of centralising, which conversely means that people don't have any qualms about using GitHub, since they can leave at any time. (Less true of issues, PRs, community, but hey.)
In either case, centralising has large benefits: one for handling complexity, one for giving you a community.
When you want decentralisation, it's because you don't want a single entity controlling what the ecosystem becomes. The circumstances where this is true are typically big utility-like things, where we care more about guaranteeing that water and electricity exist than the top end of providers' profits. Email is like this. You would never build your own power station, just like these days it would be bordering on negligent to use anything except Office365/GSuite/etc as your corporate email host. Lots of jurisdictions will create highly regulated marketplaces so you don't get Enron-California-style anti-competition. When things get that bad in Gmail-land, let us know.
[Edit: I was pretty snarky just there, but not at you! It was in general, I swear.]
I want to make that switch, but am rather intimidated by my inexperience in that domain. Are there any guides or tutorials you've used that you'd recommend?
Not a single tutorial comes to mind but you generally find a wealth of resources and tutorials online about setting up anything you might need.
Always start by setting up a strict firewall and then whitelist cautiously anything you need as you set up the rest. Don't bother with SELinux. Be very careful with your Postfix (or if you're masochistic, sendmail) config as it's rather (needlessly IMHO) intricate and it's easy to end up with a configuration that appears to work but is extremely broken. In particular if you end up configuring an open relay by mistake spammers are going to have a lot of fun with your server but you'll end up blacklisted everywhere.
My "stack" is nginx for web, postfix + dovecot + spamassassin for email (+ roundcube when I wanted a webmail). Postfix was by far the trickiest to configure, although if you find a good tutorial online and can spare a couple of hours to understand how it all works it's not too bad.
I have similar setup but use Exim instead of Postfix. And I am still glad I host my own services. Yes, it took time but it will work as I want it forever. Only lazy people prefer ready-made cloud services - yes, it's convenient - but it's more costly, you lose control over your data and they are constantly redesigning and reinventing something. You never know when they sell the business or increase prices, ban or limit you.