Context: I maintain a fairly straightforward piece of forum software. It was originally only intended to host the little community I wrote it for, but over the years it’s become more mature and folks have asked about running their own instances for other purposes. It’s always a bit of an awkward situation because it has to start with “well, how familiar are you with server provisioning?”, and the answer is usually “not at all”. It’s not complicated software by professional standards, but the way I’ve hosted it was to rent out some VPSs, install a DB, nginx, uwsgi, and point these things to each other, install the tools for the build pipeline manually, and have a shell script that can rebuild and bounce servers. And there’s a bunch of small but important details that have nothing to do with the application around setting up iptables and directory perms and which user each process runs as and so on and so forth. If you’ve done this before it probably takes 30 minutes, but generally people asking haven’t and I can’t realistically expect them to figure it out having probably never used SSH before.
Given that I’d love to hear what folks to do make their self-hostable software user friendly for hosting. The holy grail in my mind would have the following:
What do you do to help people who aren’t highly technical self-host your software?