I must admit something: I have become hopelessly addicted to Syncthing. This tool has saved my bacon the last few weeks with both regular work as well as personal projects, and it has become my go-to tool for backing up large collections of files.
How it works
Syncthing works very well out of the box, but it has endless ways of tailoring
it for a particular scenario. In the default configuration, there is a main
directory that it adds to its tracking information called ~/Sync
. In the main
configuration page, which can be found at http://localhost:8384/, all it needs
is a machine ID which can be found in the admin page of the other system. Like
magic, it will start syncing across the internet with the other machine, even
across firewalled networks. In the default configuration it uses public relay
servers for this task and, while reliable, it is a tad bit slow for me. So,
I’ve added my own server as a direct connection. This way, I also get the added
bonus of having everything I need in a central point and all I need to access
it is to point a syncthing instance at its public IP address.
Why not Nextcloud?
In my testing, I have found Nextcloud and other such solutions a bit heavy-handed for my particular use case, or in some areas, lacking basic features. For instance, the Nextcloud app on Android tried to be everything and the kitchen sink: image viewer, music player, encryption manager and all kinds of functionality I would never make use of and cannot remove. These features, while I’m sure some found useful, I did not and they took precious space on my rather meager 16 gigabyte Samsung at the time. On my new devices, this is much less of a concern but I do still enjoy an app to follow the Unix principle. Syncthing is just a file synchronization tool, and that’s all I need it to do.