I'm about to buy a new laptop, and I would like to turn my old PC into a file/backup server.
I have 5 "client" computers beside the server machine. 1 of the clients (mine) will run Arch Linux, and the rest Windows (7/XP). The server will also run Arch Linux.
Here's the setup I would like to have:
Each client has a configurable list of directories it synchronizes with the server periodically. These directories should be stored in a separate directory on the server for each client (i.e "the client's directory on the server").
There are "shared" directories to which multiple clients synchronize, each machine can modify the directories and the changes will appear in all other machines when synchronized. Those shared directories are, too, stored on the server under "the shared directory on the server".
It is important that the clients won't be over-privileged on the server, and each client would only be able to backup/restore his own directories and the shared directories - but nothing beyond that
It is preferred that the transfer be encrypted, but not mandatory...
So, to conclude - a dropbox-like mechanism with private directories for each client and shared directories between clients, with a central server hosting a copy of the contents and coordinating the synchronization between the clients.
Some other points (which I am technically capable of implementing at the moment):
- I can then make copies of the data locally on the server from time to time (versions).
- Each client will be able to SFTP into his directory on the server (to which he's chroot'd) and access his files remotely, and all clients will have chroot'd access to the shared directory via a shared user.
After describing my thoughts, can you advise me how to implement the "dropbox-like" part, following the requirements I mentioned? (or something close, I'm flexible)