I wasn’t sure if this should go in the Support - Android category since the description of that one didn’t mention setup questions.
If the title is not explanation enough of the configuration I need, the next three paragraphs should be.
I have multiple devices that produce photos and video and I need a configuration that will allow me to periodically remove those files from the source device without removing them from the storage and processing machines they are shared with. It would also be nice if I could use a single folder on the storage devices for multiple sources in some cases.
At the moment I have set ignoreDelete at the storage device and simply have a separate folder for each source. I tried setting the free space percentage to 100% so that the source devices would upload but would not download, the error notification was irritating though so I stuck with separate folders.
I was hoping there was a way to accomplish what I am looking for by setting something at the source side instead of the destination. For instance, instead of ignoreDelete at the storage device, something like noDeleteUpdate at the source.
I realize this “one way sync” could be accomplished with other software but I have been so pleased with everything else I am doing with Syncthing and I prefer finding solutions that utilize as little software as possible.
If anyone could offer advice or even confirmation that my configuration is as close as I can get to what I am trying to accomplish, it would be greatly appreciated.
Ignore deletes and send only folders should be sufficient.
AHH I hadn’t thought of send only at the sources. TY.
I guess with the “folder master” wording in the Android app I was under the assumption that only one device could be send only.
Others can send too, but beware as you press override on any of them, stuff will get removed on all of them.
Yeah I read that. What if I set ignoreDelete on the sources also? Override still works the same way?
The source devices won’t loose data, as they are set up as send only and still won’t accept any changes. But the storage and processing devices will loose the data, which is not present on the device where override is pressed.
Got it… What about using versioning as a precaution in the event I did accidentally override?
If you keep the ignoreDelete set on the storage and processing sides you will not do anything when you hit override changes.
Alright, great. I’ve been trying all of this out as we’re discussing it and I think it is working exactly how I had hoped.
Thanks for all the help, call this one solved.
Actually I have one more question… With the configuration discussed here, the Android client never considers the connected storage devices “up-to-date”. It gets “stuck” at syncing 0% or 95%. Everything is working as expected but I wonder if I might be looking at an issue with increased load at the source side because of a more frequent attempt to sync to a host that will never oblige because ignoreDelete is set.
Increased load = increased battery use. While most of the devices that will act as sources will be connected to constant power, some of them are daily drivers and battery life is an issue.
Looks as though it is getting “stuck” at both ends. I think I am going to stick with using a separate folder for each source device for now. It seems to be the cleaner solution and I can always do something along the lines of a consolidation script at one of the storage devices that pulls the uploads into a single folder. That would have the added effect of clearing the source devices out as well.
FYI, the devices will never be considered to be in sync because as per your requirement they do not have the same content.
This shouldn’t affect the source sides but your suggested solution is probably a better option. I did this for a long running time lapse capture one time. Had the camera running for a month and used a laptop to periodically sync and move the image for processing.
Yep, I understand. I played around with the different possibilities quite a bit before finalizing shares. Since the devices I am producing media with are all Android, I would very rarely be using the WebUI, and although I realize they are considered out of sync, the only place where that is indicated is on the Android device in the WebUI.
The native client at the source device and the WebUI at the storage device both report “Up to Date” so I am pleased with the solution.
I generally take the time to process my media before I archive or post to social media anyway, some things get scrapped, some things need transcoding, some just need a quick “levels” or “curves” filter. The separation between the “raw” dumps from the source devices and their final destination will actually work out well overall.
I want to thank everyone for chiming in. A little bit of back-story; my wife passed away a few weeks ago and she was always the one who documented our life. I am doing my best to use my tech saavy to fill big shoes and to continue posting lots of media of my 2 year old daughter as she grows up… Shes a cutie and had a lot of fans.
I also have been having a terrible time trying to get used to being a single dad so I have been using old Android devices to keep an eye on my daughter in her play area while still getting around the rest of the house or out to the yard and garage to stay productive and distracted. I have lots of Tasker stuff going on so that when she does something worth recording I can quickly signal the device near her to start saving high quality video. Then of course, when I am near her I am taking 4k video with my daily driver.
Long story short, Syncthing and everyone’s help makes this all somewhat manageable and that means a lot.
Oh and I am also using Syncthing as I consolidate everything I can find that is left of my wife (video, photos, artwork, poetry). It has been helping to centralize a lot of content while adding redundancy at the same time. I would never forgive myself if I lost anything that honored her life or helped my daughter to understand who her mother was when the time comes for all that.
So the product has been a great help and comfort. Not to mention rewarding to work with.
Syncthing is not a good option for backup.
It can be an incredible part of a backup system but there a number of reasons it should not be relied on as the only step. One corrupt file or drive will replicate the error throughout the cluster.
Even if send only and ignoreDelete are properly arranged?
Assuming you mean that your original side is send only and the backup side is ignoreDeletes, you are still toast if you overwrite your originals with crap (or an edited version, etc.).
Versioning helps. Filesystem snapshots help more. (imho, etc)
I actually planned to have archives on two separate machines that are both ignoreDelete. Versioning sounds like a really good idea too though.
Just realized as I re-read my post, that wouldn’t make a difference… Yea versioning it is.