Is synchting still the right tool for this scenario? (indexdb too large)

Hi,

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?

(Running syncthing 1.12 on Debian 10.x)

And happy New Year to All!

1 Like

Mines 5Gb, but there is nearly 4m files and 12.4Tb data

I am the user who created that thread :wink:. Just remember that ignored or not, the files will still count and add up to the overall DB size.

Hello @tomasz86. Which solution did you choose finally, as we are facing very similar constraints ?

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.

@tomasz86 any experience using syncthing with termux?

with it, you could easily setup the data path to the sdcard without needing to compile anything.

although on newer devices it will be limited to the data folder due to some android 10 limitations termux is still facing.

i’m also curious if you had that experience before deciding to compile and why. :grin:

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.

1 Like

that’s rather curious, about the lib.

which command line, though?

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.

adb push libsyncthing.so /data/local/tmp/
adb shell chmod 0777 /data/local/tmp/libsyncthing.so
adb shell HOME=/sdcard; /data/local/tmp/libsyncthing.so -home=$HOME/syncthing

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.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.