Syncthing is a free, open-source peer-to-peer file synchronization application available for Windows, Mac, Linux, Android, Solaris, Darwin, and BSD. I tried to use it a few years ago with my web server, but I had issues with the software and I had to abandon it.
I installed it again a couple of weeks ago, not knowing what to expect. I’m happy to report, despite the fact that it has 262 open issues at GitHub, I haven’t experienced even one. Of course, I’m only synchronizing one folder from my laptop computer to my hosted VPS.
As far as I can tell, it will always be free. That alone makes it worth using. Over time, it can only get better. It’s obviously not as polished as services like Dropbox and Google Drive, but that isn’t a big deal to me. I’m using it to synchronize files on my laptop computer with my server, which I can’t even do with most services because they use too much memory. I’ve yet to see Syncthing use more than 67 megabytes.
To be fair, most of the other services that sync files are free to an extent. As far as I know, only Google Drive, Mega and pCloud offer more than 10 gigabytes of space for free. I’m trying to wean myself off of Dropbox, which offers far less, but I don’t want to invest time in anything other than Syncthing.
Some things are easier with virtual drives, but they aren’t safer. I originally started using a WebDAV server for everything, but then I scaled it back when I set up SSHFS as a virtual drive. I now use the WebDAV server only to host my password database, accessible from both my cell phone and my laptop.
I stopped using SSHFS after I set up Syncthing. Using SSHFS worked well until I didn’t have an internet connection. I can continue to work up to three hours on my laptop battery during a power outage, but it’s not worth it if I can’t save my work. A recent power outage proved that to me, which is what got me started with Syncthing again.
SSHFS is faster than WebDAV, but working locally is always faster than anything remote. I can live with waiting a minute or so for files to synchronize, knowing I have more than one copy of everything.
Up until a few months ago, when I started using a WebDAV server, my workflow included FTP transfers. I still use FTP for some things, but it isn’t part of my workflow anymore. I move images and posts from my work directories to subdirectories under my sync directory. A cron job on the server runs a PHP script every minute, exiting immediately if those subdirectories are empty. Otherwise, it moves the files to the appropriate directories.
I write posts like this on my laptop. Then I move them to the web server. The only way to make it faster would be to install a full-fledged CMS on the web server. That’s not something I ever want to do again.