I am interested to learn if the following syncing scenario is achievable with Syncthing:
Folder F of computer A is one-way synced with folder FC of computer C (the “cloud”):
All changes in folder F are automatically replicated in FC, including deleted files. (Nice-to-have option at this point: delete file from F without deleting from FC. (Deleted F files to be renamed to something else in FC.))
All changes to files in FC that originate from F and have the same names as their F counterparts to be automatically replicated in F.
Any files in FC that do not originate from syncing F files, or originate from F files but were deleted from F (see “nice-to-have option” above), to be excluded from syncing.
Is this doable (with or without the nice-to-have option)?
I believe you can do most of what you’re asking (without the nice-to-haves) with one computer sharing the folder as “send only” and the cloud computer sharing the folder as “receive only”.
I do this for a few of my folders, when it’s clear that one computer is “in charge of all changes” (send only) and all others are just read-only mirrors (receive only).
The second part is supported by Syncthing’s ignoreDelete setting. Keep in mind that Syncthing will report that computer “A” is out of sync with computer “C” because folder “FC” will contain files that folder “F” doesn’t have.
No, because it conflicts with the one-way sync requirement.
Yes, Syncthing’s ignoring files feature. You’ll have to manually update the ignore list as needed or figure out a way to programmatically do it.
Thanks. Let’s drop the nice-to-have part for now, and let’s focus on the must-haves:
All changes in folder F are automatically replicated in FC, including deleted files.
No changes or files in FC should be replicated in F: as such, FC may contain files that are not (nor have they ever been) in F. FC will, thus, always be a superset of F.
Can you explain why one would need the “ignore files” feature when all it looks to me that I would need is the “send-only” feature?
The “Send-Only” setting easily satisfies your updated #1 and #2, while the “ignore files” feature is only required if you still want the original wish list item #3.
Nope, setting “Send-Only” on F is sufficient because then F will ignore any changes sent by FC.
Optionally, setting FC to “Recieve-Only” would also work, however then FC wouldn’t send changes to other devices that might be added later if that’s of interest.
I’m pretty sure that is incorrect. A receive-only folder will not announce any local changes on its disk to other peers. It will, however, participate in the synchronization among third parties just as usual. Thus if A is configured receive-only and has links with B and C, then changes from B will still reach C and vice versa. Even if B and C are not directly connected.