I’ve used Dropbox for a long time; I used it to sync my photos from my phone, to automatically download books from publishers, and to just store random documents. I’ve been a user on the free tier, and I bumped more and more into limits - having to move old photos manually out of Dropbox to get more space for new photos. So, started looking for alternatives, and as I already had my home server running, looked mostly at self hosting it.
The most obvious choise was to run OwnCloud. But I didn’t really like that: really slow on my machine, and too feature-rich. I don’t need online document editing, and all kinds of plugins. I just want to store some files, and sync them over devices.
I ended up with Syncthing. I heard about it before, but it always seemed to be a bit weird, and difficult. Peer-to-peer synchronization, without a centralized server? And one one hand it might be, but just like with Git, you can create a structure, where you have a centralized server, the application just doesn’t force you to have it.
My structure is now as following:
- Installed on the NAS; this is the source-of-record, and from here the files are backed up
- Installed on my phone
- Installed on my laptop
My NAS acts as the ‘central’ place, but I created multiple repositories: one for my files that I want to have available on all my devices, one with files that I want to share within the family, one with my photos. Per repository you can decide witch device should get the files (so, my own files do not end up at my wifes laptop, our shared files are synced everywhere).
I could ‘just’ use autodiscovery, but I made my life hard, and disabled that, and just manually configured the connection to the NAS. Maybe in the future I should run a Syncthing Discovery Server (or just use the global autodiscovery - who cares that random people on the internet know that I am using Syncthing…)
As the files are ‘just’ files everywhere, you can just treat them as files (backing up, etc), no data duplication to some kind of internal repository format.
Replication just works - and is extremely resilient. I’ve been in a situation where I had a few kbps connectivity, and all kinds of modern applications (webbrowser, dnf) had lots of troubles, and were timing out and stopped working, syncthing just stayed working… it took ages to sync the photos of that day to the NAS, but it persists and ‘just does it’.
As I was so impressed, I also installed it on my parents and parents-in-law PCs and phones, syncing their data to the NAS (and then in the end being part of my backup).