A couple weeks ago I was introduced to a application called Gitlab, and I must say, I love using it. For those of you who don’t know, Gitlab is a self-hosted alternative to Github. It has almost every feature Github provides, and a couple features that Github doesn’t have.
Possibly the best thing Gitlab provides, is the ability to have unlimited Private & Public (private by default) repos, for free. Then there is stuff like user/repo management, service hooks, a nice GUI, Team management, wiki support, and of course, Gitlab is open source.
While I think Gitlab is simply fantastic to use, setup is another story. While I was installing on Ubuntu Server 13.02, I ran into several issues that required me googling around, in order to solve them. 2 specifically annoying problems were:
For the second problem, I haven’t found a “complete” solution, but it is entirely possible that is a problem specific to my machine. To help solve this problem for me, I added mount -o bind /home/git/repositories /repo to /etc/rc.local
and restated my machine. Given that both the source and destination already exist as directories, the command works perfectly.
This means this:
ssh://git@my-git-server.com/home/git/repositories/project-name.git
is changed to this:
ssh://git@my-git-server.com/repo/project-name.git
Thankfully, the creators of Gitlab have created a very detailed install guide, and this guide will help you solve most problems you might encounter.
Gitlab might be a bit of a pain to setup, but it is totally worth it.
Originally published by Nicholas Jordon at coderwall.com
#web-development