One thing I'm sure is in common between self-hosters and people over at r/nosurf is our aversion to the popular big services like Google, Facebook...
I started self-hosting a few years ago because I was sick of depending on big corps, but over time I started getting sick of anything related to technology (even though I'm a dev lol). Recently I've been experiencing downtime on my server and I still haven't figured out the cause, and it's kinda making me feel that I am a slave to my setup, the same way I was a slave to the big corps.
I was wondering if any of you felt something similar, and how would you design a self-hosted setup that's as low-maintenance as possible (I'm already using a VPS instead of a home server to reduce maintenance).
Low maintenance and self-hosted don't really go together. The reason those large companies are so successful in this space is that they are obfuscating and removing all of that maintenance, HA design, etc, which you're now responsible for when you self host.
What you can look into is designing the self-hosted solutions to be as low maintenance as possible. Design services in clusters, compared to single instances, to allow you to drop some for updates without impact. Design for failover. Design for proper backups. Design with application stacks in mind that are supported and widely used vs someone's random github you found. Design for modular setups (not just one giant Mariadb, multiple smaller ones, etc)
All of this is work, however, so it's a trade off on your side how much and where you're wanting to put the work in.
what low-maintenance are you referring to? I have a server at home running proxmox and a container for docker. It hosts a website (caddy), website comments system (cusdis), sync, calendar, mail, mqtt, gps tracking, note taking, at one point i had home assistant but i dont have enough IoT to make use of it so i just stopped it. I check on stuff like once a month or maybe two months.
I'm referring to: updating the software (and making sure with the changelog that there is no breaking change I have to adapt to), dealing with issues (it's not the first time my server is down and I have to investigate..), and occasionally do migration (if a software becomes abandonned, a tech becomes deprecated..)
I try to minimize the maintenance cost (time and energy) by keeping in mind that I don't have to update or migrate to something new if everything is working as I want it to be. And if I really have to update, I make sure I also have time for any consequences. I also believe the key to a low maintenance server is automation and templates as this makes rolling back to a last known good configuration easy most of the time.
I have also accepted that time and mental energy has always been the price of self hosting. If you lack these things, you would feel like its a chore. If you have plenty, it can be exciting.
Yeah that's a good point about updates, but what about security vulnerabilities...
About templates, it's true that my setup is far from being one-click-deployable, but I feel like it takes even more effort to make it as a template?
I do have time and mental energy, I am just starting to be less interested in spending them on server administration... (but I know that it's a compromise anyway, cuz using the normie services has a hidden cost on the long term)
I can only access my services through VPN (tailscale) when I am outside, so I don't worry that much about security vulnerabilities. And in my experience so far, security updates are usually more stable than feature updates so I install those without hesitation when I have the time.