Install SparkleShare Self-Hosted Sync Service on Ubuntu 16.04 | 18.04

SparkleShare is a true open source, self-hosted file syncing program that can be used to replace proprietary sync and cloud services with something open and decentralized.

It creates a special folder on your computer that you can use to host remote projects. These projects will be automatically kept in sync with both the host and all of your peers when someone adds, removes or edits a file.

Like other open source cloud services, SparkleShare provides similar functions, but let you choose where your data is stored and how it is being accessed… For those who have tried OwnCloud, NextCloud and other storage services and they’re still not sold, they may want to try SparkleShare instead….

For more about SparkleShare, please visit its homepage.

This brief tutorial is going to show students and new users how to install SparkleShare on Ubuntu 16.04 | 18.04…To get started with installing SparkleShare, follow the steps below:

Step 1: Install Flatpak

The easiest way to install SparkleShare is via Flatpak. You can install it from Ubuntu software center, but the version that comes with Ubuntu is likely old and not updated as often. If you want to SparkleShare to automatically update when new versions are available, you may want to use Flatpak.

Flatpak is a next-generation technology for building and distributing desktop applications on Linux.

To install Flatpak, follow the steps below:

On Ubuntu 18.04 and up, simple run the commands below:

sudo apt install flatpak

If you’re running Ubuntu 16.04 and previous, then add the recommended PPA below and install Flatpak.

sudo add-apt-repository ppa:alexlarsson/flatpak
sudo apt update
sudo apt install flatpak

After that, Flatpak should be installed and ready to use.

Step 2: Install SparkleShare

Now that Flatpak is installed, run the commands below to add SparkleShare repository and install its packages from Flatpak.

flatpak remote-add flathub 
flatpak install flathub org.sparkleshare.SparkleShare

After the commands above, SparkleShare should be installed and ready to use.

Step 3: Setting up SparkleShare Host

SparkleShare uses the version control system Git under the hood, so setting up a host yourself is relatively easy. Using your own host gives you more privacy and control, as well as lots of cheap storage space and higher transfer speeds.

To setup a new host, run the commands below:

sudo bash
curl  --output /usr/bin/dazzle
sudo chmod +x /usr/bin/dazzle

After that, run the commands below to run its initial setup.

sudo dazzle setup

Running the commands above will install additional packages in order for SparkleShare to function.
Next, run the commands below to create your new project.

sudo dazzle create PROJECT_NAME

Replace PROJECT_NAME with the name of your project. When you run the commands above, you will see a new project created with information on how to access as shown below:

dazzle create MYPROJECT
Creating project "MYPROJECT".
  -> /usr/bin/git init --bare /home/storage/MYPROJECT
  -> /usr/bin/git config --file /home/storage/MYPROJECT/config receive.denyNonFastForwards true
  -> echo "*.DMG -delta" >> /home/storage/MYPROJECT/info/attributes       
  -> chown --recursive storage:storage /home/storage
  -> chmod --recursive o-rwx /home/storage/MYPROJECT

Project "MYPROJECT" was successfully created.
To link up a SparkleShare client, enter the following
details into the "Add Hosted Project." dialog: 

      Address: ssh://[email protected]:
  Remote Path: /home/storage/MYPROJECT

To link up (more) computers, use the "dazzle link" command.

That’s all there is to it. Since SparkleShare uses plain Git repositories, you can keep using all your favorite tools that work with it.

Step 4: Connecting to Host

Now that a new host and project created, you can now use a client to connect. In order for clients to connect, you must add the client’s unique SSH ID to the host. Run the commands below on the server to add a new client ID.

sudo dazzle link

It should prompt you to enter the client ID. Grab the client ID from the client and paste it in there.

Paste your Client ID (found in the status icon menu) below and press .

 Client ID: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCyQbnlvCae/QCDXVcXwhwmWD5IE6xPUElPPaXxLpctEdo9tL0oRsciyU8eo08/bI0q5RJWXzKhd9P7nQz2Q/idIDtNJ1CwYjwPFHVQFuYu/Ye4/rBYMl0zSfZ3cS1SLtBMNR+Y+20+e3NhDbDhCw/14cdcHXSf6J79kcxNUJ0iggVnJn6NHqYmGkcVnvgoHgu0gdg8KCq+wdRft9QSmSY2NfXJiBuF9DqO8cNwa0D2wXl84nikQOFNjsFLJiyEhYmFe/ILLgOlPUhDPSxG261lMo6KCwtQRCkCBSbEwbZEIuz7ivTXlQvy9KmaECl2pPo71vfCEMZk0ch7p+7U+ayodIAMff1DeT4GsZrSsk5L5wioF7v1t+r00bNT7llnJiU1IspKAr0hR8IB9lmOGB+PMIK/OFUk3hhaUByIh7dm7iZVL6wznt69kNS3ylhEx5oNIQBniNDqHw/SSu8eyUPVs1jMl8IVk2ADWnkqAMiCtMlmi+G+30aF3hdWpBKCKsc6gBTQ3Mypmw4uX2X99+oLZAXoKja0T2cg1zaBmJVSy4MKu1WxyidDuKIKJ+TEsbktlgPFtKtOPz3Ab7smI5U6UE14eJOYesg25HO39hpMnXip3znPpAJoZd97GtHsyhlUc1DAxNz7Qe6RT0Vcgd3BRAInC/R0j8Fx+OYKDBnyXQ== ubuntu1804 (SparkleShare)

The client with this ID can now access projects.
Repeat this step to give access to more clients.

Use the client to connect to the project.

SparkleShare Ubuntu Setup

The client key to copy to the host..

SparkleShare Ubuntu Setup

Connect using the info presented above.

SparkleShare Ubuntu Setup

That’s it!

Congratulations! You have successfully installed and configure SparkleShare on Ubuntu.

You may also like the post below: