Everyone and their dog has used Dropbox in the past. It is good, but commercial and your data is stored in the cloud.
Another option is Resilio, a nice application but I don’t find it stable enough for production use.
I have found Syncthing, open source and your data is not stored in the cloud. I’m testing it out on several Windows machines and a couple Linux machines.
Installing on Linux (Debian) from the Debian package was easy enough, but it does not complete the install. 🙁
On top of that the documentation is currently out of date and/or not correct on how to get the thing running as a service.
I found this page that goes over how to get it running, the instructions even work unlike a number of others I have found.
Another thing that is not clear, is where the configuration file is. If you start it using systemctrl as per the instructions (assuming username is user1), the system creates a default config file at:
I assume this is all done so each individual user can set it up on the machine and have their own configuration… of course in that way you have multiple people using the same port but guess they can fight over that.
The following commands could be used to enable the service (assuming username is user1)
systemctl enable firstname.lastname@example.org
With the service enabled it will start automatically on a restart.
If you want to stop/start or get the status while running, use these commands:
systemctl start email@example.com
systemctl stop firstname.lastname@example.org
systemctl status email@example.com