Syncthing is an open-source file synchronization application.
It has applications for Linux, Android, and Windows.
By default, when you run syncthing, the application starts a web browser to connect to the local web GUI. You can prevent this by running syncthing --no-browser instead.
You can also run Syncthing as a systemd service. Here’s the service file I use for this.
[Unit]
Description=Syncthing service
After=network.target
[Service]
User=leo
Group=leo
ExecStart=/usr/bin/syncthing --no-browser
Restart=on-failure
RestartSec=10
WorkingDirectory=/home/leo
[Install]
WantedBy=multi-user.target