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 :

Dependancies
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:

dev-vcs/git

net-misc/openssh

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

Next make the script executable by using the  command:

Update your shell's profile to grant yourself access to your new Dazzle script:

After that you'll need to run the  command to setup your project(s):

Add each user's SSH key to the SparkleShare host by using the  command. The SparkleShare client will generate the SSH key for you to you. Simply right click on the notification tray icon on the client PC to copy the SSH key to the computer clipboard. You could either put the users SSH key on a USB drive or you could transfer the ssh key using the. It doesn't matter how you transfer the key, as long as you can enter it into the  command when prompted.

After you have finished granting your users access to the SparkleShare service on your host system you will need to create one or more projects so that you have some repositories to contribute to. Use the  command followed by the project name to generate your project(s):

That's it! You've successfully configured your host!

External Resources
Official SparkleShare Website

Official SparkleShare GitHub Page

SparkleShare at Wikipedia