This is maybe because I have always had a slow internet connection, or probably it is just something related to my cronic lazyness, but I have never been a fan of self-hosted cloud. I have nothing on any kind of cloud, and I do not use remote calendars, agendas, file storage - not even mentioning cloud services from big corporations such as Google Drive, One Drive, or MEGA (which was seized by the New Zealand’s government in the past) - but I do not feel like I am missing anything in my work and study day.

I, instead, use a simple tool to effectively synchronize some crucial folders between my machines, only when I need it, through LAN or internet: the tool in question is syncthing.

Syncthing is a program which allows you to create and manage nodes (each machine is a node) that can connect, interact and synchronize files organized in folders. When I said this is simple, I meant that only the following steps are required to have a completely working node of your network:

  1. install if from your repository or download the Windows executable;

  2. launch it (on Linux it is as simple as running the command syncthing)

And that’s it! You now have a perfectly working node of your network.

Just create a different node in another machine of yours and run it - which can be accomplished in the same way - and then connect them with the help of the graphical interface. A local browser webpage should automatically open allowing customization (address should be on port 8384) This is simple, too: copy your machine’s syncthing ID (a long alphanumeric code) and paste it to the other machine. A request to create a connection between nodes should arrive.

Connection done, we can now add folders to the mix. After adding some folders, syncthing will quickly analyze them. You now can sync them with any other node in the network, by ticking a single box in the menus. Suddenly, a sync request appears. Accepting it, synchronization happens and every file in the folder will be securely transferred into the other node’s folder and kept synchronized as long as syncthing is running on both machines. This works both on LAN and across the internet for remote devices.

You can shut it down when you’re done. When you need it, just launch it on the nodes you wish to sync, and it will automatically start sending/receiving new files.

This is everything you need to get syncthing work. I really like it for its simplicity, it just runs and syncs files correctly, and allows me to safely share my working folders between my computers. I have no particular setup or configuration to show you - because it’s so simple it just works with no further customization and I keep it almost default on my Linux and Android machines.