I would very much discourage people reading "how to self-host" articles on hosting for anyone but themselves. As soon as you involve other people, your stress will grow immense, there are all kinds of expectations and possible disappointments. It's one thing to share a few photo folders, but to provide online services is a dev job, and you don't want this relation with them.
Note that I specifically mean the situation where you share your own self-hosted setup with some close people so they can also benefit. If you want to self-host to specifically serve a community, go for it, you're awesome.
If it’s production grade even for you, the most boring and reliable way for systems to update themselves is mandatory. Luckily there’s way more out there than the past.
Fast forward to today and it's no different. The complexity has increased, yes. But in many ways some of those complexities make things easier. The hosted solutions I provide friends and family with are rarely offline. Do I hit 5 nines annually? The real question is - does anyone care? No. But if I were to guess my downtime is cumulatively less than a few hours per year.
If you're drawn to it don't be distracted by an opinion of others who project these sorts of narratives. For some it may create anxiety - so don't do it, but for others they may find a path in their career through learning via the self-host path.
And if people you're providing ancillary services for are jerks about a bit of downtime here and there, and those folks are not contributing to your endeavors then tell them to go fly a kite. Because nobody I've shared self-hosting with has ever truly complained. I've had years of fun banter, especially in the earlier days, around uptime. But those people weren't trying to cause discourse. Those people are still friends.
I enjoy following the self-host community, contributing in minimal ways, and self-hosting useful things for friends and family. It doesn't keep me up at night. I'm constantly improving because of it.
So far everyone is happy with that arrangement, and I don't mind sharing the extra resources I have with people I care for.
All of what you mention is something you consider during install. Which arguably makes the install take most of its time.
Same should be true for the cloud. Because you surely are not just jumping into something without analyzing what you are locking yourself into etc.?
Yes, it sucks if your PSU goes into smoke at an inopportune time. So you don't put critical services on it. Just as you don't on the cloud either. AWS has a much worse uptime than my homeserver. Github, slack, netflix, etc too.
Also, you get to do maintenance when you know noone will be bothered by it.
I find this extremely hard to believe.
running a bare one-off ec2 instance on aws is a strange choice if you care about uptime.
Self-hosting is a low risk way of learning lessons which otherwise would be high risk.
The effort self hosting takes sinks with the experience you gain.
There is terrible software to self-host (both as a beginner and as an expert) and there is software that is a breeze to work with.
There is battles to be chosen and battles to be avoided.
I host 20 websites and multiple services and it costs me less than a day of work per month (realistically maybe 4 hours or less a month)
> There is terrible software to self-host (both as a beginner and as an expert)
Any examples ? Just so I can avoid it
I've been thinking of setting up NextCloud or similar for starting self-hosting of our HOA's email server, and file host, but it felt like a huge lift for someone who has never done it before.
Seeing that this is a full-on OS distro (Debian based), has been used and improved for over a decade, has docs that address backups, restores, and various attack vectors, has all app users integrated via LDAP, I feel comfortable at least giving it a try.
Or you can just run something like mdaemon and let it trivialize self hosting mail.
Or you can just run something like mdaemon and let it trivialize self hosting mail.
Self hosting is the original devops
If you're using Ubuntu or ubuntu derivative it's same except its russian roulette whether upgrade will actually work. In my experience just fucking don't or prepare for full reinstall every few years.
Then there is also slew of stuff that are "appliance" type of OS, like FreeNAS, that also allow you to run containers. That's probably best choice if you don't want to play linux admin once every month or two.
There is definite lack of "all in one panel" for someone that wants to have "their own linux server" but doesn't want to set up monitoring and a bunch of little stuff around it. When you want some alert generation, some metric monitoring + few automated stuff like "resize this partition when it fills up, up to a limit", it's usually a bunch of scripts + disparate apps.
Then again it's "different 20%" problem; 20% of features of those commonly used stacks(grafana/elk/icinga/etc.) is enough to 80% of the users but the 20% is different from person to person.
For example, some might care to only have some rough stats to draw a line and see "okay, my hard drive will be full in 2 months, gotta do something about it. But someone else will want same metric solution to also ingest a bunch of stuff from their IoT gadgets.
> How will you deal with your self-hosted service when your friends or family rely on it and it is down for an obscure reason on an obscure component you never heard of?
... the same thing happens with "all in one" stuff that automates everything you'd do manually on a plain linux box. Maybe rarer but also harder to find a solution for. In the end, if you want it to be not a problem you need to pay to make it someone's else problem (managed/hosted solution)
That won't keep up with the breaking changes this type of software usually has.
> If you're using Ubuntu or ubuntu derivative it's same except its russian roulette whether upgrade will actually work. In my experience just fucking don't or prepare for full reinstall every few years.
When was the last time you did that? That hasn't been true for literally years.
> When was the last time you did that? That hasn't been true for literally years.
20.04 to 22.04 dist-upgrade... kept getting weird errors from apt post-upgrade, it was just easier to blow the vm away and start fresh.
Admittedly I did it right after 22.04 dropped rather than waiting for 22.04.1 or even a week would have been fine so that's a little on me.
>That won't keep up with the breaking changes this type of software usually has.
this only updates to current stable, so there will be no breaking changes as those are essentially security updates.
The "breaking changes" part is once every 2 year distro upgrade but it's generally very little, although that heavily depends on software you use of course. That from experience of few hundred machines at work and half a dozen private ones.
But if you wrote custom config you will have to change it if the format changed, you won't get away from that no matter how much automation you throw at the thing.
>> If you're using Ubuntu or ubuntu derivative it's same except its russian roulette whether upgrade will actually work. In my experience just fucking don't or prepare for full reinstall every few years.
> When was the last time you did that? That hasn't been true for literally years.
Just recently we fixed a machine of user where they tried to upgrade and some random shit broke. It also filled /boot with a bunch of kernels (it did not remove old ones) that made the machine unbootable coz it ran out of space on kernel update. It still could be booted on old one but of course user didn't knew that. We've actually migrated few people over the years to Debian precisely because they just broke their ubuntu during update somehow.
I imagine it is much less with actual competent users and server, not desktop.
That’s not self-hosting anymore, now you are the cloud.
> With YunoHost, you can easily manage a server for your friends, association or enterprise.
It is a good idea, to be fair: non-techy people don't get anything but big companies if people won't host them.
I don’t find hosting services for a couple of friends and my family stressful.
I’m also a full time system admin so it is really a more fun, more freedom, less pressure, less bullshit version of the work I’d love to be doing instead of whatever management and the team came up with.
If something's down, it's down. If someone complains, I offer them a full refund of the $0 they pay, which stops complaints fairly quickly.
In moments of unplanned crisis it will really become apparent that self hosting is because you value yourself as a user more, and not less.
In a way we self host lots of things on our phones.
Not ready for prime time, though.
IIUC yunohost correctly they help to deploy and manage services in a more traditional way and assume that each service is trusted and they aren't that rigerously isolated from each other.
Today best practice is using the zero trust security model and sandboxing everything.