SparkleShare

SparkleShare is a cross platform, open source, Dropbox-like, file synchronization tool. SparkleShare harnesses the powerful back end of the Git version control system and OpenSSH to provide version controlled backups of every file placed in its repository. The SparkleShare client provides a simple user interface in the form of a small tray applet.

SparkleShare is broken into two components: a client and a host. This article will help the user install and configure both the client and the host in order to have a fully working environment.

Features and Limitations
Version control is built into SparkleShare which makes it perfect for the self-hosting of text-based files, office documents, and small images such as PNG files. Since Git does not do well handling binary or compressed files, SparkleShare does not make a good “full computer” backup utility. It also does not do well handling binary files or files in semi-compressed/compressed states. Most modern media files such as .OGG, .MP3, .AAC, .MPEG, .JPEGS, etc. are already in semi-compressed/compressed states and should try to be avoided in SparkleShare projects.

Future Features
There are plans to include git-bin in SparkleShare which would greatly improve it's capabilities in dealing with large files in binary and compressed format, however the implementation of git-bin into SparkleShare is yet to be complete. The developer may never complete this feature; if it's something you think you could help with visit the SparkleShare GitHub page.

Building and Installation
Install :

Installation
Installing the Host side of SparkleShare requires more shell configuration than the client side. In order to setup a host you'll need the following dependencies:

The first step is to download the Dazzle script from the Dazzle GitHub page.

Next make the script executable by using the  command {{RootCmd|chmod +x /usr/local/bin/dazzle

After that you'll need to run the  command to setup your project. {{RootCmd|dazzle setup }}

Add each user's SSH key to the SparkleShare host by using dazzle's  command. You could either put the users SSH key on a USB drive or you could transfer the ssh key using ssh. It doesn't matter how you transfer the key, as long as you can enter it into the  command when prompted. {{RootCmd|dazzle link }}

After you have finished allowing your users to access the SparkleShare service, you will need to create one or more projects. Use the  command followed by the project name. {{RootCmd|dazzle create PROJECT_NAME }}

That's it! You've setup your host!

External Resources
Official SparkleShare Website

Official SparkleShare GitHub Page

SparkleShare at Wikipedia