I know this thread linked below is old but I was curious if use cases like this are achievable now with Syncthing:
I echo the comments in this thread in that Syncthing is my go-to because it just works, its secure, open source, and so forth.
I will try to explain what I am trying to do using Syncthing’s terminology:
My use case is very similar in that I need several Send Only nodes that cannot receive changes from any other node in any way. All the Send Only nodes have the exact same folder structure. There may be overlap in files that each of the Send Only nodes has with different mtimes, but the hashes for any given file itself would be consistent (The files themselves are part of a depot where the filename is the SHA1 hash of the file itself). The aggregate of these Send Only nodes would be considered the “Global State”. There would very likely never be a single Send Only node that has all of the files and as such there cannot be a single “Master”.
On the Receiving end, each node would be set in Receive Only mode. These nodes would each only receive the files they need using ignore rules. Effectively this would use ignore rules to pull the files needed from the aggregate Global State.
So this leads me to two problems that I can’t seem to work around unless there’s some special settings somewhere that would allow this:
Syncthing seems to require a single Master for any given Folder ID (which is really more like a folder “linkage” ID in my mind). I was hoping this wasn’t the case given the “Global State” terminology in the UI. But it does appear that any single Folder ID can only have one node act as the master at any given time. If I create several Send Only nodes with the same Folder ID they seem to just pass around Master status based on whomever last clicked the “Override Changes” button.
mtimes are synced. For this use case syncing of mtimes is unnecessary as long as the files are hash equal on the different Send Only nodes. Ideally I’d like to ignore mtimes completely because without that it would mean there must be metadata changes on Send Only nodes.
So basically I’m looking for creating a global state with no single master and also ignore mtimes. Is something like that possible? I cannot seem to find any application that would support something like that but Syncthing seemed closest.
I greatly appreciate any feedback or suggestions, and as always keep up the great work. I use Syncthing for several other use cases and I would love to make it work for this as well if at all possible.