What are you non-obvious, maybe strange usecases of Syncthing?
For example syncing the media library with your friend or maybe your entire /home/user folder between your PC and laptop?
I’d love to hear your ideas!
Echoing other comments, my backup strategy for all our devices is: Syncthing to replicate data to my NAS, restic to generate encrypted backups, and then cron+rclone to offsite those backups to Google Drive.
I absolutely love this setup.
-
It works anywhere. Syncthing takes care of firewall punching and all that so whether I’m at home or on the road, I know the data is being replicated correctly.
-
It’s immediate. Syncthing doesn’t run on some schedule. It’s constantly replicating so I know at minimum there’s a copy of all my data if something catastrophic happens.
-
It’s private, encrypted, and entirely in my control.
-
The setup is built of composable parts that can each be understood, modified, and debugged easily.
Normally I’m a little cautious about rolling my own infrastructure for something critical like backups, but this setup is so simple and robust that I just don’t worry about it.
Other use cases I’ve come up with:
-
I use Paperless as a DMS. It has a watch folder for automatically ingesting documents. I set up Genius Scan + Syncthing on my phone, syncing scans to the Paperless drop folder, so I can scan from my phone and automatically upload to Paperless without any additional app. Just scan and off it goes.
-
For a while I was playing Subnautica on my Steam Deck and my gaming rig. Subnautica doesn’t support the Steam Cloud so I used Syncthing to replicate the save data across my gaming devices.
Not particularly weird or outlandish, but of course I also use Syncthing to replicate my keepass database across devices as well.
I also have a personal wiki of Markdown notes that I sync between my laptop and phone using Syncthing.
Oh, and I use it to replicate my Calibre library between my laptop and my calibre-web server.
Basically it’s my swiss army knife of “I have data over here, I need to get that data over there” and it’s amazing!
How does syncthing know what to upload to paperless watch dir if paperless keeps deleting the files after ingesting them?
That’d exactly what you want! When the file initially lands in the sync folder, Syncthing sends it to paperless. Paperless ingests it, deletes it, and it disappears from my phone, now stored in paperless. Exactly what I need.
If I wanted the files to stay on the phone I’d set up the phone as Send Only and the paperless side as Recieved Only.
Oh you delete them from the phone too, ok that makes sense.
I don’t delete them from the phone (because they’re also in a different app I used since before Paperless) so that’s a bit of a dilemma. I’ll have to think about it better.
Again, Syncthing supports one-way sync so allowing paperless to delete them and having that delete sync back to the phone is entirely optional.
I mean, how does Syncthing know not to copy a file again if it copied it once and paperless deleted it?
The client on the sender side (the phone) knows it sent the file. It doesn’t care if the receiver side changed or deleted it. It sent the file. Its job is done. That’s why the mode is called “Send Only”.
Meanwhile the client on the receiver side (my NAS) never pushes changes back. It only responds to received sync instructions. That why the mode is called “Receive Only”.
It’s… all pretty simple. Not sure where the confusion lies?
The phone sync client would have to remember all the files it ever sends, which could be thousands. I’ve never seen a sync client that works like that, they usually compare the files that are in the source and destination folders. If syncthing can do this that’s really interesting.
-
Sync (one-way) from our phones to an always on tablet in the house - the screensaver is a photo gallery so now we actually SEE those photos we take.
Just update the exclusion list (on the tablet) every now and again to ignore older photos (ie 2023-10*) and it keeps them fresh.
Syncing save games across multiple users, for games like Valhiem or Minecraft without the need for an always on server.
I have become quite invested in Logseq, noting down everything from terminal commands, to shopping lists and recipes. Syncing the .md files between my desktop, laptop phone and work pc with ST works amazing.
Installation on phone from F-droid (Syncthing-fork) gives a 1-way share of your Camera to backup to PC whenever you get back home. That’s my top usecase… Together with syncing KeePass database since long ago too.
I have a keepass database synced between a phone, desktop and a Raspberry Pi 1. The Pi just sits as an always-on server. I don’t edit it on my phone. Here’s my problem: when I edit something on my desktop and save it I invariably get a file conflict error and have to force the Pi to accept the new ‘conflicted’ file from my desktop. Any idea why? It’s incredibly annoying!
I think you need to set up database syncronization in keepass. I had this issue for a bit until I enabled this. Basically you set a copy that’s synced with syncthing outside of your keepass folder, then another copy that keepass edits directly. Then you can set it up so that when it saves the database in keepass it will sync the edits in the one that’s mirrored y syncthing.
Using it in an enterprise environment?