@chrisg When developing LibreServer I encountered this a lot. Most internet systems and databases are designed for "massive massive" scale. They are not designed to be administered efficiently on a system with ten or fewer users. So they're incredibly complex and top heavy.
In almost all cases the best systems for self-hosting do not have a database. They just save directly to files, which can then be easily copied to different locations as needed. You can use a bit of memory buffering to speed things along, such that I/O bandwidth isn't always a hard constraint. That's what I did with
#Epicyon. No database means no catastrophic failures due to database corruption, no assumptions about infinite storage space, and removes a large amount of complexity.