passthejoe — the blog

I've been using Syncthing to mirror files in Linux, Windows, MacOS and OpenBSD, and it's working

Now that I’m running a new Debian 10 Buster laptop and use Dropbox to sync 160 GB of personal files, I have turned to the open-source, Go-coded Syncthing to keep about 500 MB of work-related files mirrored across that Linux laptop, a Windows 7 desktop and a 2011-era iMac desktop.

It’s all pretty much seamless. I have the Syncthing client running on each PC, and I can monitor the “state” of the sync via a web GUI. Syncthing doesn’t consume a lot of CPU, especially when compared with Dropbox, though I’m not syncing anywhere near as much data for business on Syncthing as I am for personal use on Dropbox.

Syncthing doesn’t require a central server on which to “store” the files. It does use servers of some kind, somewhere, to facilitate the syncing between desktops, but I really don’t know how that works — and I don’t have to know. Syncthing just works.

It’s very cross-platform. Right now I’m actively using it across Linux, Windows 7 and MacOS Mojave. I also have it on a laptop running Fedora 30 and OpenBSD 6.5 on different drives, and I have it on my main laptop on a Windows 10 drive (the Debian 10 system is on the M.2 SSD).

For awhile, I thought that I couldn’t keep things in sync because I never had two of my computers running at the same time, so I ran Syncthing on a Raspberry Pi Zero W that I kept on 24/7. That worked well, but now that I’m using Syncthing for “production” instead of just testing it, I keep the Windows 7 and MacOS machines running all the time, and Syncthing works even when I’m not logged in, so I don’t need to use the Pi as a persistent client.

Instead I’ve repurposed the Raspberry Pi Zero W as a web server, and I’m having a lot of fun running a couple of live web sites — including this one — out of my coat closet.

I don’t know how Syncthing will perform if I throw 20 GB — or 100 GB — at it instead of 0.5 GB, but it beats “traditional” file-syncing because it’s so cross-platform, and you have to pay nobody to store your files because you’re storing them on your own computers.

The reason I’ve used Dropbox for so many years is that it has always offered Linux support. I’m not surprised that Microsoft’s OneDrive doesn’t support Linux, but I’m VERY surprised that Google, whose business is basically built on top of Linux, doesn’t offer an official Linux client for Google Drive.

And with Syncthing, not only is Linux a first-class platform, I can also sync with OpenBSD. Other Syncthing platforms include FreeBSD, DragonflyBSD, NetBSD and Solaris. I suspect that one of the reasons Syncthing runs everywhere is that it’s easier to generate binaries out of Golang, and the Web GUI already runs everywhere there’s a browser.

FYI: I downloaded the Syncthing binaries for Windows 7 and 10, and MacOS, but I’m using project-supplied packages for Linux and OpenBSD. The downloaded packages self-update through Syncthing, and the different versions don’t seem to be posing a problem.

#syncthing #golang #openbsd #mac