How to Install SparkleShare on Ubuntu Linux

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

It creates a 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 lets you choose where your data is stored and how it is accessed.

For more about SparkleShare, please visit its homepage.

Install Flatpak

The easiest way to install SparkleShare is via Flatpak. You can install it from the Ubuntu software center, but the version that comes with Ubuntu is likely old and not updated as often.

If you want SparkleShare to update when new versions are available automatically, 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, run the commands below:

sudo apt install flatpak

If you’re running Ubuntu 16.04 and previous, 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.

Install SparkleShare

Now that Flatpak is installed run the commands below to add the 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.

Set up SparkleShare Host

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

To set up 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 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. Then, 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://storage@
  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.

Connect to Host

Now that a new host and project have been created, you can use a client to connect. 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 is 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 configured SparkleShare on Ubuntu.

You may also like the post below: