Sparkleshare on Webfaction

Recently I went looking for an alternative to Dropbox. I wanted something that was a little bit more in my control. As I’ve mentioned before I use Webfaction for most of my hosting needs. There are, in a word, awesome. You may think that Owncloud would be the logical setup step here and I did try that for a while. At first I thought it was great, then it would only connect off and on, then all the files in my internal folders were deleted (luckily I have backups via TimeMachine) and then it wouldn’t connect at all. It just felt cludgy. I also tried out Bittorrent sync. That seems to work ok but I also wanted a web available copy so I didn’t have to be at a specific computer to get my files.

Finally, I settled on using Sparkleshare. It uses Git internally. So, its not perfect for every use case, but I know and like Git anyway and its nice to know that I have reversions of these files should I need them.

Getting Sparkleshare setup on Webfaction is actually really simple. Here is the step by step. Note that in the following you need to replace APPNAME with the name of the Git application you setup, REPONAME with the name of the repository you set up. And finally USERNAME with your Webfaction username.

  1. Log in to the control panel.
  2. Click Domains / websites ‰Û£ Applications.
  3. Click the Add new application button.
  4. In the Name field, enter a name for the Git application. (APPNAME)
  5. In the App category menu, click to select Git.
  6. In the Extra info field, enter a password for the default user.
  7. After saving that switch to Websites and add APPNAME to a website record. This will allow you to connect to it later over the web.
  8. Now we need to add a new Git repository to APPNAME. To do this SSH into your account.
  9. Switch to your applications repos directory.

    cd ~/webapps/APPNAME/repos

  10. Create a new repository.

    git init –bare REPONAME.git

  11. Enable HTTP push to the new repo.

    cd REPONAME.git git config http.receivepack true

  12. Download and install Sparkleshare for your operating system. The rest of this assumes that you already have public SSH keys setup for your server authentication. I’ve always liked Githubs SSH keys directions.

  13. Launch Sparkleshare and from the tray icon select Sparkleshare > Add Hosted Project

  14. In the dialog “Where’s your project hosted?” select “On my own server”.

  15. In the Address: field put

    ssh://[email protected]

  16. In the Remote Path: field put

    /home/USERNAME/webapps/APPNAME/repos/REPONAME.git

That’s it. It should connect and add a folder in your user directory named Sparkleshare with a REPONAME folder. Just drop files or folders into that and watch them sync!

comments powered by Disqus