Today I had a pretty decent time setting up Syncthing, not to be confused with BTsync (now known as Resilio). Syncthing is a FOSS (Free-Open-Source-Software) program which lets you, well… Sync things 😉
My use case is likely not quite the same as others / intended use. But works perfectly for what I need it for, is pretty quick, super simple to setup and is so resource-light that it could happily run off of a Raspberry Pi!
What I needed.
I needed a way to sync my files from my work laptop to my NAS, I didn’t want to lose any of my important work data, i.e. various scripts, documents and files in general. So I looked at things like Dropbox, Google Drive, Owncloud/Nextcloud, Resilio and stuff like SSH tunneling and VPNs, nothing was quite right. Then I stumbled across Syncthing, a completely free, fully opensource, fast, generally great bit of software! It has a nice web based GUI, runs as a Docker container on my NAS, runs automagically on my work laptop too. It took a little bit of setting up but it now runs headless and on bootup until I shutdown.
How to setup
Now, don’t do the same thing that I did and just blindly follow the first guide that pops up on Google! Which I can’t criticise because I’m sure it’s great, it just didn’t quite work out for me – I believe it might just need to be updated slightly. I then had another little look around and found the official instructions on auto-starting… But thankfully the basic install is really straightforward.
# Add the release PGP keys: curl -s https://syncthing.net/release-key.txt | sudo apt-key add - # Add the "release" channel to your APT sources: echo "deb http://apt.syncthing.net/ syncthing release" | sudo tee /etc/apt/sources.list.d/syncthing.list # Update and install syncthing: sudo apt-get update sudo apt-get install syncthing
So now that it’s installed, it’s as simple as following the instructions here.
/usr/bin/syncthing -no-browser -home="/home/marcus/.config/syncthing"
The snipped above will of course be different for your install. But that’s pretty much what you need to stick in your Startup Applications config, this will enable Syncthing to start in the background, automatically, every single time you boot up!
Once all of this is sorted, you’re pretty much good to go 🙂 You’ll want to setup the following:
- Folders you’d like to sync
- Devices you want to sync to / from
- Setting up Master / Slave folders & devices
- Folder re-scan times
- File versioning / recycle bin
Hopefully I’ve not missed much out! This is pretty much exactly what I spent my evening doing and it’s working for me – One final note, if your router doesn’t support upnp, you’ll need to forward port 22000/tcp to the IP address of you Syncthing server.