SparkleShare

SparkleShare is a cross platform, free, 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 each file placed in its repository. The SparkleShare client provides a super 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 components in order to obtain a fully working SparkleShare environment.

USE Configuration
There are currently no USE flags for SparkleShare.

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 image 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 or compressed states. Most modern media files (such as .ogg, .mp3, .aac, .mpeg, .jpeg, etc) are already in semi-compressed or compressed states and should not be added to SparkleShare repositories.

Future
There are plans to include git-bin in SparkleShare which would greatly improve its capabilities in dealing with binary and any files in compressed states, however the implementation of git-bin into SparkleShare is yet to be complete. The developer may never integrate this feature.

Client
As with most packages in the Portage Tree, SparkleShare can be installed with a simple emerge command. Emerging will install both the host and the client SparkleShare components.

If the current PC is a client, the installation is now complete. The client should now show up in the desktop environment's list of installed programs. After it is started a small applet should appear in the panel.

For host installation and configuration continue reading.

Host
Installing the SparkleShare host requires a bit more configuration than the client.

The first step in host configuration is to download the Dazzle script from the Dazzle GitHub page. This will require the use of web browser or a command line download utility (curl or wget).

Next make the script executable by using the chmod +x command:

Update the system profile to make the Dazzle script located in visible as a system command:

After that run the dazzle setup command to setup the SparkleShare host:

Add each user's SSH key to the SparkleShare host by using the dazzle link command.

The SparkleShare client will generate a SSH key pair combination on the client system. Right click the notification tray icon to copy the SSH key to the clipboard. It is then possible to use ssh to run the dazzel link on the host system, and the ssh key can be copied into the dazzel script.

Alternatively the users' SSH key can be put on a USB drive or transferred using scp. Ultimately it does not matter how the key is transfers, as long as it can be entered on the host when dazzle prompts.

After the user has been granted access to the SparkleShare service on the host system one more more projects will need to be created. Each project is new a repository. Use the dazzle create command on the host followed by the project name to generate the project(s):

That is it! The host has successfully been configured!

External resources

 * Official SparkleShare GitHub page