SparkleShare Documentation

Share and collaborate by syncing with any Git repository instantly. Linux, macOS, and Windows

RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy SparkleShare on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name sparkleshare --restart always hbons/sparkleshare:latest

1. Project Overview & Quickstart (hbons/SparkleShare)

File: README.md

[SparkleShare](https://www.sparkleshare.org/)

[!NOTE]
Please read ๐ŸŒฑ issue #2006 for the future of this project.

[!IMPORTANT]
Hello! Hylke here. I was recently laid off. I'd love to work full-time creating apps for Linux and contributing design for FOSS projects. I hope to gather enough monthly sponsors for a minimum wage. Every little helps. Thank you.

SparkleShare is a file sharing and collaboration app. It works just like Dropbox, and you can run it on your own server. It's available for Linux distributions, macOS, and Windows.

You can support this project through ๐Ÿ’• GitHub Sponsors.

How does it work?

SparkleShare creates a special folder on your computer. You can add remotely hosted folders (or "projects") to this folder. 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.

Install on Ubuntu or Fedora

You can install the package from your distribution (likely old and not updated often), but we recommend to get our Flatpak with automatic updates to always enjoy the latest and greatest:

bash
flatpak remote-add flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.sparkleshare.SparkleShare

Now you can run SparkleShare from the apps menu.

Note: by default SparkleShare uses an AppIndicator status icon on Linux. If you use GNOME on a distribution other than Ubuntu, please install the AppIndicator extension. If you don't use GNOME, you can start SparkleShare with --status-icon=gtk.

Install on macOS

Download the app from the releases page.

Set up a host

Under the hood SparkleShare uses the version control system Git and the large files extension Git LFS, 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. We've made a simple script that does the hard work for you. If you need to manage a lot of projects and/or users we recommend hosting a GitLab Community Edition instance.

Build from source

SparkleShare is Free and Open Source software and licensed under the GNU GPLv3 or later. You are welcome to change and redistribute it under certain conditions. Its library Sparkles is licensed under the GNU LGPLv3 or later.

Here are instructions to build SparkleShare on Linux distributions, macOS, and Windows.

Have fun, make awesome. :)


File: SparkleShare/Mac/README.md

Building on macOS

You can build SparkleShare from source or download the SparkleShare bundle.

Installing build requirements

Install Xcode from the macOS App Store, or download it manually.
Install Visual Studio.

For building the distribution release, where Mono libraries are merged into SparkleShare, we need
the autoconf and pkg-config. You can install these in several ways, here's how it's done using Homebrew:

bash
brew install autoconf automake libtool pkg-config

Building

There are three build configurations available:

  • DebugMac

    with debug symbols and having the Symbol DEBUG defined. Requires an installed Mono framework.

  • Release

    without debug symbols. Requires an installed Mono framework.

  • ReleaseMac

    without debug symbols, the Mono framework is linked statically into the binary, so it does not require an installed Mono framework.

To build any of these configurations,

  • open ./SparkleShare.sln in Visual Studio
  • select the SparkleShare.Mac project in the Solution view
  • select the required configuration
  • select Build, then "Build SparkleShare.Mac" from the menu

To build SparkleShare from a command line (e.g. for using a CI system), use this command:

bash
/Applications/Visual\ Studio.app/Contents/MacOS/vstool build "--configuration:ReleaseMac" "SparkleShare.sln"

Resetting SparkleShare settings

text
rm -Rf ~/SparkleShare
rm -Rf ~/.config/org.sparkleshare.SparkleShare

Uninstalling

Simply remove the SparkleShare bundle.


File: SparkleShare/Linux/README.md

SparkleShare for Linux

Building with Flatpak

If you want to test SparkleShare from Git, it's easiest to build a flatpak locally using this spec and run it.

Building on Linux

Common build requirements

You will need the packages listed below for the most used Linux distributions:

shell
# On Ubuntu 16.04:

# Run requirements
sudo apt-get install \
  curl \
  git \
  git-lfs \
  gvfs  

# Build requirements
sudo apt-get install \
  desktop-file-utils \
  gtk-sharp3-gapi \
  libappindicator3-0.1-cil-dev \
  libdbus-glib2.0-cil-dev \
  libgtk3.0-cil-dev \
  libnotify3.0-cil-dev \
  libsoup2.4-dev \
  libtool-bin \
  libwebkit2gtk-4.0 \
  meson \
  mono-devel \
  mono-mcs \
  xsltproc


# On Fedora 27:

# Run requirements
sudo dnf install \
  curl \
  git \
  git-lfs \
  gvfs

# Build requirements
sudo dnf install \
  gtk-sharp3-devel \
  gtk-sharp3-gapi \
  libtool \
  meson \
  notify-sharp3-devel \
  webkitgtk4-devel \
  webkit2-sharp

Additional source build requirements

Install these soup-sharp and webkit2gtk-sharp bindings:

bash
git clone https://github.com/hbons/soup-sharp
cd soup-sharp/
./autogen.sh
make
sudo make install
bash
git clone https://github.com/hbons/webkit2-sharp
cd webkit2-sharp/
./autogen.sh
make
sudo make install

On Ubuntu, also install these appindicator-sharp bindings:

bash
sudo apt-get install libappindicator3-dev
git clone https://github.com/hbons/appindicator-sharp
cd appindicator-sharp/
./autogen.sh
make
sudo make install

Start the build

You can build and install SparkleShare with meson like this:

bash
meson build/
ninja -C build/
sudo ninja install -C build/

If your distribution has an out of date meson package, you can install the latest version using the Python package manager:

bash
# Install pip using your system's package manager
sudo apt-get install python3-pip # Ubuntu
sudo dnf install python3-pip # Fedora

pip3 install meson

Uninstall

bash
sudo ninja uninstall

Reset SparkleShare settings

bash
rm -Rf ~/SparkleShare
rm -Rf ~/.config/org.sparkleshare.SparkleShare

File: SparkleShare/Windows/README.md

Windows

You can choose to build SparkleShare from source or to run the Windows installer.

Installing build requirements

Install version 4.0 of the .NET Framework if you haven't already.

Install msysGit and copy the contents of the install folder
(C:\Program Files (x86)\Git by default) to C:\path\to\SparkleShare-sources\bin\msysgit\ (create the "bin"-folder in the SparkleShare source directory).

Open a command prompt and execute the following:

text
cd C:\path\to\SparkleShare-sources
cd SparkleShare\Windows
build

C:\path\to\SparkleShare-sources\bin should now contain SparkleShare.exe, which you can run.

Creating a Windows installer

To create an installer package, install WiX 3.7, restart Windows and run:

text
cd C:\path\to\SparkleShare-sources\SparkleShare\Windows\
build installer

This will create SparkleShare.msi in the same directory.

Resetting SparkleShare settings

Remove My Documents\SparkleShare and AppData\Roaming\org.sparkleshare.SparkleShare (AppData is hidden by default).

Uninstalling

You can uninstall SparkleShare through the Windows Control Panel.

2. Official Technical Reference & Guides (hbons/org.sparkleshare.SparkleShare)

SparkleShare [Flatpak](http://flatpak.org/) spec

This spec is used to make SparkleShare available on Flathub. If you just want to use the latest stable release, it's easiest to install SparkleShare from there.

If you're interested in installing the latest nightly SparkleShare version, do read on.

Install dependencies and build the flatpak

First, run git submodule update --init.

bash
# Install the GNOME runtime and SDK
flatpak --user remote-add --from gnome https://sdk.gnome.org/gnome.flatpakrepo
flatpak --user install gnome org.gnome.Platform 3.28
flatpak --user install gnome org.gnome.Sdk 3.28

# Build or update the latest nightly SparkleShare from master
flatpak-builder --repo=./repo ./app org.sparkleshare.SparkleShare.Nightly.yml

It may take a while to build the flatpak (around 30 minutes on my computer), this is normal.

Install the built flatpak from the repo

bash
flatpak --user remote-add --no-gpg-verify sparkleshare ./repo
flatpak --user install sparkleshare org.sparkleshare.SparkleShare

You can now start SparkleShare from the apps menu or by running flatpak run org.sparkleshare.SparkleShare.

I've added two scripts to automate the build and installation steps after you've installed the GNOME runtime and SDK. ./build-stable.sh builds the last released version, and ./build-nightly.sh builds the last commit on master. Simply run the script again to build any new commits.