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.
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:
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
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.
After installation, we start by clicking on the SparkleShare icon. Then look for the opción “Computer ID” → “Copy to Clipboard”.
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.
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 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.
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.