While i love self hosted products, am i the only one often disappointed by the backend tooling _behind_ the self hosted app? This is no fault of the app devs (Monica in this case), because it just doesn't feel like there are many (any?) good self hosting backends. Namely data storage.
Example, to run Monica locally you have to run a MySQL server. This seems .. a lot, for the average user. It also exposes hardening issues, backup concerns, upgrades, etcetc. I want to stress i don't blame Monica here, there are almost no alternate options.
SQLite is the only thing i find really great, but that just covers SQL.. and frankly i still want more even from my SQL layer. I'd love a very, very resilient storage mechanism for users. Something easily backup able. Easily merge-able in the event the user accidentally forks backups[1].
I often think i want something like Camlistore (Perkeep). Something that can store both structured and unstructured data (sql/files/etc). Something versioned, easily immutable. Something users can rsync around without fear of losing/corrupting anything. Something that apps themselves can push around for automated backups to cloud storage if desired. Super, robust. Something that doesn't require running any servers - just run the app.
I know a bunch of people are working on immutable databases, but i often see them (DoltDB) focused on being MySQL but with Git. I think i want Camlistore - a true data-dump for end users, but with better interfaces for App developers. Eg give app developers a true SQL interface, with a dumb file interface, etc.
I'm working on my own solution for this, but i doubt it'll be anything more than a toydb. I hope someone with great skill solves this problem :)
[1]: Merging is never easy, but some systems can definitely make it easier or more complicated.