Pretty big caveat to that though. Joplin names the individual text files some huge hexadecimal value, unlike Obsidian (and maybe Loseq). And it appends some meta data in the file itself.
I personally felt this was unacceptable for my use case. And if Logseq’s android app wasn’t so bad, is be using it instead of Obsidian.
Seafile. It’s super fast and lightweight. There are some caveats though:
Data is stored in git-like chunks on the server side. There is Seafuse and Sea drive functions that you can leverage to “assemble” the data on server side for backups. I personally use rclone mount, then backup.
Paywall hiding some features. The community edition is free but is missing some features that pro has. Pro edition is free for 3 or less users.
Documentation isn’t great. The forum is active so that’s helpful, but some of the docs take some time to understand
Chinese owned. As far as I can tell, there is no call home for a self hosted server, so I don’t think it’s a worry in that case.
All that said, I like it much better than Syncthing for it’s selective sync. All files on each client are synced to the server. But unlike Syncthing, it doesn’t sync all data with each client. This is vital for me with some devices with small storage drives, so I would t want all files to sync. Yet I can still reach to the server from any client and pull data from any other client. Syncthing has an ignore flag, but that seemed way more trouble to setup than just sticking with Seafile.