Choice and Peers: Two concepts important to this post.
I'm 97% sure I've finally found a file storage/backup/sync solution that works.
Dropbox, Ubuntu One, Google Drive, OneDrive, and don't forget Box and ownCloud.
What do all these have in common? I've tried them, and I don't like them. I have never liked the idea of leaving my files on someone else's computer. It just rubs me the wrong way.
Enter Syncthing. It is different, and it works.
Syncthing is a robust, proven open-source system that syncs my files between computers of my choosing. I choose where my files live, and who has access to them.
Choose your topology
You can set up a server-client star if you wish, using one of your computers as the central hub and syncing all the others to it.
You can also choose to let multiple machines sync with each other, eliminating the loss of connection if the central machine goes down.
My term, not theirs. You initiate the relationship between two computers at one machine, then confirm that relationship on the second machine. Both machines have a unique ID that must be known ahead of time. Outsiders are not able to casually discover the IDs that are required to make a connection. You cannot set up a syncing relationship from just one computer.
Internet connectivity or not? Your choice.
There are two ways you can allow connection between, say, your laptop working in the field and a computer back at your house:
1) Open a port on your router (not at my house)
2) Syncthing relays
Syncthing relays are servers that accept encrypted data from one of your computers and relay that data to your other computer using ports dynamically configured by your computers. Your computers make the decisions and initiate the connections. The relay just behaves like a conduit for your end-to-end encrypted data.
Syncthing is working really well for me.
I have been using it now for about a month. I have divorced OneDrive and Dropbox completely. I'm using it to keep my media, my working files, my projects, documents . . . literally everything backed up on several computers on my local network.
The Syncthing app on my Android phone keeps my photos synced with my computers whether I'm on my own network or out of town.
I have a portable setup on a USB SSD drive that keeps that drive in sync. It was indispensable last week when I was working out of town on a 'strange' laptop.
The long and short of it is, I can recommend Syncthing as a Thing That Works!