paritybit.ca

Use Syncthing to Sync Things

Author: Jake Bauer | Published: 2020-06-26

During this round of reinstalling the operating systems on all of my computers, I wanted a more convenient way to transfer and share files between them. Previously, I would transfer things like my KeepassXC databases using a USB stick which was cumbersome. I also didn’t want something like a NAS because I don’t want having a network connection to be a requirement to access my files. That left me with the option of using some kind of synchronization application where I’d have the files on every computer I own and they would be kept constantly in sync with each other.

I chose to use Syncthing, a program designed for the sole purpose of synchronizing files and folders between computers. It’s somewhat comparable to Dropbox, just way, way better and not proprietary, commercial garbage. All that is needed to get Syncthing to work is to install the client application on two or more computers and to connect the computers by entering their IDs into each other and telling them where the other computer can be found.

Let me re-iterate: No complicated server setup, no account creation, no interaction with an external service; just install a client, run through some simple configuration, and that’s it.

The Syncthing dashboard on one of my computers.

I entered my desktop’s ID into my laptop and vice-versa. I told both computers to find each other at https://<hostname>.paritybit.ca:22000 (hooray for internal DNS), and off they went synchronizing the ~13.5 GiB I wanted to share. Now I have a copy of all of my important data including music, PDFs, screenshots, Newsboat database, KeepassXC databases, and more on both computers. As long as they’re both on and awake at the same time, they’ll keep in sync with each other and I don’t have to worry about manually syncing my files.

If I wanted something analogous to Dropbox with its ability to synchronize using the Internet, I could set up a server running the Syncthing client which operates with access to the Internet that my computers would synchronize with. As far as Syncthing is concerned, there’s nothing special about this client; it would just be another computer synchronizing files. Another option would be to set up a relay server so the computers can find each other behind NAT setups and such. The downside to the relay server is that it’s definitely slower than the direct connection by IP/FQDN. Besides, syncing over the LAN is good enough for me.

Syncthing is probably the most painless experience I’ve had synchronizing files between my devices. As Nikita said in his blog post about Syncthing, “It brings the joy of use and makes you believe the collapse of civilization can be slowed down a bit.”

This is my fifty-fifth post for the #100DaysToOffload challenge. You can learn more about this challenge over at https://100daystooffload.com.