How to keep Linux, Windows and Mac OsX files in sync with Sparkleshare on Raspberry Pi

sparkleshareSince i’m using different operating systems and machines, I thought it would be usefull to keep my files in sync.
I’m using Sparkleshare for syncing my files. For more info check The guide to install is on their website as well. It’s not suitable for large files that change a lot, like for video editing though.

My setup consist of the raspberry pi as the sparkleshare server and Window and Mac Osx as clients.
The files on the server are redirected to my external usb disk.

Linux, debian based (Raspberry Pi)

Log in with ssh or open the command and enter the following:

Be su

sudo -s

Download sparkleshare

curl \
--output /usr/bin/dazzle && chmod +x /usr/bin/dazzle


dazzle setup

Create your sync or project name

dazzle create PROJECT_NAME

Note the Address and Remote path after creating the project name. It will look something like this:
Address: ssh://storage@your own ip:22
Remote Path: /home/storage/YOUR PROJECTNAME

As you can see Dazzle created a new user and all the files will be stored in /home/storage. Since my raspberry pi doesnt have much space on the SD card, i’m moving /home/storage/CREATED PROJECT to my usb and create a symlink.

For example:
EXT USB PATH: /media/allstarshare

mv -R /home/storage/StarSync /media/allstarshare

Change the owner

chown -R storage:storage /media/allstarshare

Change read/write permissions 700 means owner has all rights, group and others dont.

chmod -R 700 /home/storage/StarSync

Create symlink

ln -s /media/allstarshare /home/storage/StarSync

Change the permissions

chown -R storage:storage /home/storage/StarSync

Check with ls -l to see permissions, if done correctly it will show storage as owner and group.

Now you’re done with setting up the share. You can link a client to the share with

dazzle link

You will be asked to enter a client id. For the mac client, you can find this in the sparkleshare icon.
For Windows there will be a textfile created in: C:\Users\YOUR USERNAME\Sparkleshare\something.txt if you’re using Windows Vista/7/8

If there are any problems with linking the client, you can add it manually by adding the text to the following file:

vi /home/storage/.ssh/authorized_keys

After you linked your client, you can add the project by adding a hosted project on the client.
Fill in your address and remote path from above and you’re done!