Ausgewählter Nerdkram von Informatikstudenten der Uni Ulm

Self hosted Dropbox killer with SparkleShare and GitLab

In this article I will give you a short guide how you can host you own dropbox alternative.
For this, I will use SparkleShare and GitLab. SparkleShare is based on Git, Git needs SSH, GitLab needs Ruby.
This is what you need on the Server.
That means you will need your own Server with static IP and root access.
The installation of git, gitlab or the sparkleshare-server is not part of this tutorial, because there are good guides to setup them.
What I will show you here is that you can put them all together to gain a nice self-hosted dropbox alternative.

SparkleShare allone is basically not more than an automation for Git-Repositories. It tracks all changes and commits/pushes/pulls them automatically. It is already cool to host your own dropbox alternative.
It is based on Git and you can even use it for existing repositories or commit, push or pull manually with Git. However, it uses Git-Commit-Messages internally and therefore might not be fully compatible with plain old Git.. That means if you push something manually, the repository will still be unimpaired but a client’s update-function probably won’t work for a manual commit/push.. A later autocommit/push by sparkleshare however worked properly as I tested it.
A detailed cross use of sparkleshare and POG (plain old git) will not be part of this article, but maybe topic of another one :D

Git itself claims to be not very good at handling binary data or big files, therefore sparkleshare is not very good at that too.

You might ask why should I also use GitLab when sparkleshare serves the purpose. The answer is simple:
Dropbox can handle multiple users sharing the same files.. The so called shared folders.
Sparkeshare and Git alone won’t help you here.

Say you have tree users: Al Bud and Cally. Al, Bud and Cally share the folder Bundies. Al and Bud share the folder TV.
You would then need something to add collaborative structures to your repositories, a here GitLab calls into play.
If you are familiar with GitHub, you won’t have trouble using GitLab.
Here you can define multiple users and repositories where multiple users can work together. Say Al, Bud and Cally are all working on the Repository Bundies and Al and Bud are working on TV. This gives us the shared folders of dropbox, or at least a hacked version of it.

SparkleShare keeps all repositories, that should be tracked, in the folder /home/USER/SparkleShare/.
This is well known from dropbox. However, if Al decides to keep his repository TV not as subfolder of SparkeShare, he can use symbolic links (tested with Linux). Let’s say he has the repository TV in /home/Al/Documents/TV
then he just has to create a symlink in /home/USER/SparkleShare/:

ln -s /home/Al/SparkleShare/TV /home/Al/Documents/TV

SparkeShare does not use any configfiles here, all folders (or links to folders) in /home/USER/SparkleShare/ will be tracked by sparkleshare.

SparkleShare provides a Client for Windows, Linux and Mac.

If you are not willing to setup GitLab, a nice feature in Sparkleshare is that you can also use GitHub, Butbucket and others and sync those repositories.

Kategorie: allgemein


Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
  • MisterWong
  • Y!GG
  • Webnews
  • Digg
  • StumbleUpon
  • Reddit
  • Facebook

Ein Kommentar

  1. amtriorix sagt:

    quote: The installation of git, gitlab or the sparkleshare-server is not part of this tutorial, because there are good guides to setup them.

    It would help if You link to those Guides and to hyperlink Your text to it.