A (happy) user of syncthing for 2 years, I’ve discovered that on my server the indexdb has become very large, too large in my mind - even after recreating them. 600MB+ for one user, 50 to 100MB for others. For true, that comes partially from the fact that I have several shared folders with any files in sub folders using exclusion scheme like “exclude every subfolders but these few ones” (like for this user: [SOLVED] Large index size with nothing synced (but a lot of ignores) ).
Do such indexdb sizes seem huge for you? Is synchting the right tool in such scenarios?
Well, this may not be ideal, but I took drastic measures and split my previously quite large folders into multiple smaller ones, and since then have been deciding which to sync on a per-device basis. My folder count have basically gone up from less than 10 to 30+, but I am happy with this approach. I have more control without fiddling around with complex ignore patterns, and the footprint is much smaller too.
Also, when it comes to the Android devices under my control, I have began to use a self-compiled CLI binary of Syncthing instead of the APK. This way, I can store the database wherever I like, e.g. on /sdcard which is usually the largest partition there. For comparison, the APK stores the database on /data, which especially on older devices can be very limited in size.
Yeah, I know about termux, but the problem is that some of the devices are too old for that. Termux at the moment requires Android 7.0+, while here I have Android 4.1 and such. I could use termux on those that run newer Androids, but running the same custom-compiled version on everything is less of a hassle, eventually.
Just for the record, you can also extract libsyncthing.so from the official APK and use that in the command line without compiling your own binary. The only drawback is the lack of automatic updates. Still, I have stuck to my own binaries due to some other custom tweaks that I started to apply to the code at the same time.
This is not really related to the topic at hand, so I am not sure whether we should continue this discussion here, but you can run the lib in CLI like this from ADB.
The HOME variable is required or Syncthing will not start. This works without root too. However, if you want to execute the binary directly from Android, root seems to be necessary.