Different use case for syncthing?

Imagine this:

scenario a) I have a MACBook, a NAS and an android phone. Internet is expensive.

I would like to sync (as in save my music folder from my MACBook to my NAS) => works fine with syncthing so far.

I would also like to sync all music from my android to the same folder on the NAS and on the MB since I often download music whenever I find a free hotspot with my phone but I definitely don’t want to download all music from NAS and MB to my phone due to capacity limitations.

Is that somehow possible with syncthing?

On top of that, I’d like to also allow my brother to sync his music collection into the same folder on my NAS so that the NAS contains the complete collections of us both but I want to selectively chose what gets sync back so basically I need the NAS to act as the main server merging stuff accepting everything new it hasn’t but not pushing anything back down to the other devices.

Possible atm? POssible in the future, maybe? Need a different kind of software?

I’d be happy about any feedback :slight_smile:

scenario b) a slightly simple use case I’d like my android to always push its camera folder to my NAS so all my pictures are properly backed up but sometimes I need space so I manually delete pictures on my phone. I don’t want those pictures delete on the NAS too, just removed locally.


I know I can use different sync/backup software but it would be awesome if one product could do all of this via different sync options.

1 Like

I think so. You can use the .stignore files for that. I remember there was another user, wanting to do the same as you, but i cannot find it at the moment. :smiley:

There is an issue on Github already:62 (I also didn’t know that, i created this one: 584 i want the same as you :wink: )

re: scenario a)

I fear using .stignore isn’t going to work, too much manual work involved :frowning:

Lets say I have folder a), b) and c) on my MAC sync those 3 to the NAS. Then I feel like listening to a) on my phone and copy it there. Its the same as on the MAC and NAS so nothing gets synced automatically. I then download d) on my MAC and e) on my phone (from the internet so they don’T exist anywhere else except where they have been downloaded) and copy them to the respective music folders on each device.

d) should sync to NAS but not to the phone. e) should sync to NAS but not to MAC

kinda everything goes UP to NAS but nothing comes down to MAC or phone automatically unless I manually copy it.

read the two Github issues and agree, that’s what I need too! Subscribed to both.

Would it not be possible to add a feature like git-annex uses (i.e. assign different uses for different repositories in this case different shares)?

I’ll paste its explanation page further down here, I think that way you could satisfy a lot more use cases:

Repository groups Each repository you configure git-annex to use is a member of a repository group. Each group of repositories has a different purpose.

Let’s start with the client repositories. These are the repositories that contain files that you can directly use. Generally you’ll have one client repository per computer. The whole point of the git-annex assistant is to keep these repositories in sync as you change files, add files, delete files, etc.

The next most important repository group is the transfer repositories. These are used to transfer files between clients, when the clients cannot directly talk to one-another. Transfer repositories only hold the files that need to be synced to other repositories, so they are relatively small.

You can get along without any full backup repositories, but they’re a useful safeguard. These repositories accumulate every file they can get ahold of. A large removable drive makes a good full backup repository.

Similarly, the incremental backup repositories try to back up every file, but these only accumulate files that are not already present in a full or incremental backup.

Next we come to the archive repositories. The archive repositories coordinate together, so that each file is archived in only one place. When you move files into a folder named “archive”, the content of the files will be removed from all your client repositories (either immediately or as soon as an archive repository gets a copy of the file). This is handy if you have old files you don’t need anymore, but want to keep archived for later. When you copy or move a file out of an “archive” folder, it’ll be retrieved from the archive repository.

The small archive repositories are like other archive repositories, but smaller. While archive repositories normally accumulate every file they can, small archive repositories only accumulate files after you’ve put them in an “archive” directory. They otherwise behave the same

Sometimes useful for devices like cameras are the source repositories. Repositories in this group only retain files until they can be moved to some other repository, like a client or transfer repository.

If you configure a repository that can be viewed by the public, but you don’t want all your files to show up there, you can configure it to be a public repository. Then only files located in a directory you choose will be sent to it.

Finally, repositories can be configured to be in manual mode. This prevents content being automatically synced to the repository, but you can use command-line tools like git annex get and git annex drop to control what content is present.

Any feedback? Anyone? good idea? Bad idea? Doable?

That would be a great feature, even though I don’t know if the git-annex strategy could apply here. Maybe simply a set of rule for each device.

I had to move away from git-annex because of compatibility issues and instability. Syncthing could be a perfect replacement if it had equivalent asymmetries between devices.