How I (almost) permanently logged off the cloud - Part 1 - Files

by Viktor Hansson on 01 February 2015, 17:49

Tags: self-hosted mail smtp imap postfix

So I'm not really sure how to begin this post, it's going to be a long one.
I split it into parts, one for each service I switched:
  1. File syncing
  2. Contact and Calender
  3. Mail

If you have not been able to figure out what this will be about based on my previous posts and my general persona, I can tell you now that in this series I will explain how I stopped using various "cloud services" and switched to self-hosted solutions.

File syncing
One important part of keeping files these days is the automatic folder->server sync. The king in this area is without a doubt Dropbox, and their product is really fenomenal, it rarely, if ever, fails to sync anything, the speeds could be better but they could also be a lot worse. The desktop client works well on all platforms, the mobile app is great. I could go on, however the very arcitecture of their product makes Dropbox a non-option. There is no way of setting up your own backend, everything is synced to their servers. And the thing is that this is the case with all other similar providers: Google Drive, M$ Skydrive, Box etc.

Owncloud
This is where owncloud comes in. From my years of searching this is the only software with open sourced frontend and backend. The software is not nearly as good as that of dropbox, on any front. The desktop clients is rather slow to pick up changes, the iOS app is really crappy, the webgui is getting better, but still not close to Dropbox. But being self-hosted and free makes it the best option for anyone looking to set up a filesyncing service. 

The setup process for an owncloud instance is quite difficult, and requires much time so I won't write a half-assed tutorial, other people have already written better stuff than I could ever do. Here is one for doing it with a ubuntu server.

File server
File syncing is great, but its not ideal in all cases. For example your media library. Mine is currently at around 800GB, and having all of this synced to every computer I own would be a real waste.
So for this I setup a system on my NAS VM, where I can create a new linux user with a home directory in /home/. This directory can then be accessed through sftp, ftp, smb and http(only read). This system is actually very good, because it makes it much easier to keep all my files in just one place, instead of spreding them out all over my environment.
The configs related to this can be found in my fileconfig gists

Git
So I currently have about 20 repos for my personal projects, and just having these as directories on the server works, but it's far from ideal. One option is to pay for github to enable having private repos, however this still means that all my code would be hosted on their servers. So after some research I found out that the only real option is gitlab, which comes close to github in both features and interface. However gitlab can be a real hassle to install, especially on an Arch linux server, since they don't have an official build for this distro. 
But never fear, the trusty AUR contains one package that with some alterations can be installed on Arch. I won't go into details, mostly since the Arch wiki covers most of it, but I will mention that if you try this for yourself you most likely will run into a problem where showing all groups will display a 500 error, as well as trying to delete groups or repos will show the same 500 error. This turned out to be a problem with the ruby version. From the arch repos I believe the most recent version (as of writing this) is 2.2, but gitlab will not yet function without ruby 2.1.5. After getting that installed however I can no longer start vim, since some required ruby lib is no longer available. I have not yet found a solution to this problem.

EDIT(May 26:th 2015): I found a solution to the vim problem: compile vim from source. Quite simple really, just followed the guide at https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source

About Me

This is my personal blog where I might write some interesting stuff. I have some examples of 3D javascript/webgl things in the works which should be done in the comming months, so be sure to return somewhat regularely.

Featured

Internet Cryptography Series

See also...

Blankycan
Terali
Andréas Söderberg