

Seafile is great…with caveats that seem to bother people away from it:
-
Files are stored as git-like chunks on the server
-
Features behind a paywall for more than 3 users (Pro vs Comminity versions)
-
Documentation can be very confusing at times
Item 1 can be mitigated by utilizing tools like Rclone to mount the files on the server, reassembling the chunks, then back up and unmount when done. Item 2 isn’t a deal breaker for me.
It is super fast and reliable in my experience. I specify wanted the selective sync because my stupid MacBook has a tiny SSD, but I still wanted access to files from other device libraries.
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.