complex sync structure - bad?

Hi, I’m pretty new to syncthing, and have been having a few issues on my more complicated syncs. The “typical” use case of syncing “downloads”, “documents” etc between windows devices using a centralized server for versioning is working great.

But I’m wondering if my sync structure is too complicated. And also, the best way to sync that does not also sync the versions etc…

On primary server:

  • (A) should be considered the “master” source and is a one way sync to (B)
  • © syncs with (D) in a send/receive relationship of all subfolders including (E) and (G). The point is twofold: (D) workstation brings all the items locally so I can edit, rename, etc. videos and photos prior to moving to another folder structure entirely on the primary server. I also have a much longer versioning set on (D) due to essentially a dedicated hard drive on the workstation. Changes made in (D) would ultimately be reflected in (B), (F), and (H).
  • (E) syncs with (F) in a send/receive relationship with short duration versioning on (E)
  • (G) syncs with (H) in a send/receive relationship with short duration versioning on (G)

the entire private folder is also backed up to offsite storage using a cloud provider.

Although it seems to be working, it does get “stuck” sometimes. Still trying to figure it out and haven’t found a decent resolution other than dropping the folder and re-sharing from primary as it’s the always correct version.

Also, the short duration versioning for the subfolders (E) and (G) get synced to (D) in the © to (D) sync, which is un-necessary.

Primary and Backup servers are both unraid boxes with syncthing 1.13.1 running in linuxserver’s docker. Workstation is a Windows 10 machine, and Phone 1 and 2 are Android Galaxy s8 and s10.All devices are connected on the same local network & subnet.

Any opinions please?

I don’t know about the stuckness, that obviously shouldn’t happen, but the setup seems sane to me.

For this, if you have nested folders, I would suggest adding to your ignore patterns:

(?d)(?i).stfolder
(?d)(?i).stversions

and possibly, unless you actually do want to sync it:

(?d)(?i).stignore

Also, you may find https://forum.syncthing.net/t/problems-with-versioning-in-nested-folders/16192 useful.

Would you put that only on the workstation, or on both workstation and server folders?

  • I assume adding the ignore after the folders already exist will not remove the .st folders that have already been sync’d ? Once I add the ignore, would I manually delete those subfolders inside the folder structure (not at the folder root of course).

Thanks! and thanks for the link too, will spend some time with it tonight.

I have tons of folders, so I personally add these patterns everywhere, just for the sake of simplicity. You are right that the already synced ones will have to be removed manually, although leaving them alone should not bring any harm either.

beautiful. thank you!

No problem :+1:. Also, as I have just re-read the first post and noticed that you synced Windows user profile folders, I would suggest adding these to the ignore patterns too.

(?d)(?i)desktop.ini
(?d)(?i)thumbs.db

Especially desktop.ini, as syncing those can cause problems with visible folder names if you use Windows in different languages, and also Syncthing unhides those files after syncing, while normally they should remain hidden. thumbs.db are just thumbnails generated by Windows Explorer, and syncing them is kind of pointless.

I personally also add

(?d)(?i)$recycle.bin
(?d)(?i)config.msi
(?d)(?i)system volume information

but these are only really necessary if you add drive root paths as folders in Syncthing (which I do).

i’ve noticed desktop.ini and thumbs.db - knew what they were but didn’t realize there were problems associated with syncing them. wow you really know your stuff. thank you!

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