SparkleShare, client for storage and collaboration using Git

sparkleshare logo

In the next article we are going to take a look at SparkleShare. It's about a cloud storage, file sync and collaboration client, open source and using Git as a storage server. This client has been something like Dropbox, but using your own Git server or a hosted solution such as GitLab, GitHub or BitBucket.

We will be able to run this application on both Gnu / Linux, Windows and macOS. At the moment there is no mobile application. Users will be able to use this application to synchronize files from projects that change frequently or track and sync files edited by multiple people. We can do all this in a simple way. In addition you can easily revert files to any point in their history, you will also find the option of encryption on the client side.

Application works like Dropbox, without the Dropbox server. We will have an icon in the notification area that shows the status of the synchronization and provides access to some options. A SparkleShare folder will be created in the user's home directory. From there the files will be kept in sync with the remote server.

Considering that Git is not a good choice when it comes to hosting large files, SparkleShare uses Go LFS. This is an open source extension to be able to work with large files. Still, the SparkleShare website does mention that this application is not a good solution for making full backups of computers or for large binaries that change often.

While you don't get the file manager integration to roll back changes to files, you will get a 'global' recent changes dialog. This will show the changes in a chronological order.

recent changes to a GitHub repo

Download SparkleShare

On Gnu / Linux, SparkleShare may be available in the repositories of your distribution. In Debian, Ubuntu or Linux Mint you can install it by opening a terminal (Ctrl + Alt + T) and executing the command:

install SparkleShare using APT

sudo apt install sparkleshare

also can install SparkleShare from FlatHub. This option will provide you with the latest version of the software. Install Flatpak on your distribution if you haven't already, and then install SparkleShare:

flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo

install SparkleShare using flatpak

flatpak install flathub org.sparkleshare.SparkleShare

SparkleShare setup with GitLab or GitHub

Next we will see a quick start to configure Sparkleshare with GitLab and GitHub. If you are looking to use SparkleShare with your own host, you can follow the following instructions.

SparkleShare launcher

After installation, we start by clicking on the SparkleShare icon. Then look for the opción “Computer ID” → “Copy to Clipboard”.

copy computer ID

To configure the services, we need add a new SSH key in GitLab or GitHub accounts. Just paste this team ID as a key in the account settings.

To use GitLab, go to "Settings" → "SSH Keys". The following is a direct link to this page.

paste the team ID into GitLab

If you choose to use GitHub, you will have to go to "Personal Settings" → "SSH and GPG Keys" → "Add new". The following is a direct link to this page.

paste the team ID on GitHub

Paste the team ID that you copied to the clipboard into the fields «Key»That you will find in GitLab / GitHub.

The repository in GitLab or GitHub we will have to create it, either public or private, depending on what you need. You can also use an existing repository.

Going back to SparkleShare, click on your tray icon and choose the option "Sync Remote Project ...". Select GitLab or GitHub from the list and enter the remote path of the repository. You just have to remove the github.com / gitlab.com part from the URL. Now all you have to do is click "Add" y wait for SparkleShare to sync the remote repository.

add repository to SparkleShare

For consult all the options and information about the use of this client, including the use of client-side encryption, see the wiki SparkleShare or the project website.


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.