top | item 5970431

Hosting git repositories on your VPS

45 points| robermiranda | 12 years ago |blog.heapsource.com | reply

Today I’ll show you how to setup a gitolite installation on a VPS with Ubuntu 12.04 LTS. To save myself some typing I’ll be using the following conventions:

A command prefixed by sysadmin$ is meant to be run in your local workstation.

A command prefixed by user@vpshost:path# is meant to be run in the vps under the specified user on the specified path.

22 comments

order
[+] masnick|12 years ago|reply
I used gitolite on a VPS previously and it worked well, but when Bitbucket introduced free unlimited private repositories I switched.

IMO there is no reason to use gitolite now for unless you have (a) sensitive repos (with your own server, not a VPS of course), or (b) lots of private repos with lots of collaborators and you have no money for a Github or Bitbucket monthly fee and you aren't a non-profit (I think non-profits can get a free Bitbucket account).

That said, I'm interested to hear about other gitolite use cases I haven't thought of.

[+] thepumpkin1979|12 years ago|reply
Totally. We use github for everything, but in this case, we are hosting a private repository since we need to trigger a compilation of code in a builder/worker of the cloud app we are developing. We modified the beginning of the post to clarify what our goal is by hosting privates repos with gitolite.
[+] robmil|12 years ago|reply
There's also the issue of repository size; both BitBucket and GitHub have (entirely reasonable) fair use policies that seem to limit repos' sizes to 1GB or so. Yes, Git sucks with big files, but sometimes it's necessary to exceed this total size.
[+] sharagoz|12 years ago|reply
Im in the process of moving from self hosted (VPS) git server to Bitbucket as well. Github was just too expensive for me but when I discovered that Bitbucket was charging pr user instead of pr repo, switching was a no brainer.
[+] dotmanish|12 years ago|reply
We recently were at the same crossroads (choosing between "github" v/s "bitbucket" v/s own-hosted git repositories). I ran through the various options for own-hosted git repositories: (1) Gitlab, (2) Gitolite, and (3) Stash (10-user license for $10)

We ended up installing Stash as it seemed that it would reduce administration+maintenance by a tad bit (GUI + knowledgebase) and would be supported by a company responsible for bitbucket. Stash has been a pleasant experience so far.

[+] gbrindisi|12 years ago|reply
Does anybody know if there is something to seamlessly encrypt a git repository in case I don't trust the git server provider (say a VPS)?
[+] e12e|12 years ago|reply
Any particular reason why most of the examples uses "sudo" while already logged in as root?

Additionally, either you have some strange prompts set up somewhere, or made a few typos when copying and pasting; a couple of places you appear to be logged in as a someuser@<...>, but with a hash-prompt(#) -- usually reserved for indicating root/super user access.

edit: Personally, I actually found the official documentation more helpful, even if it is very brief:

http://gitolite.com/gitolite/qi.html

In particular, it highlights that gitolite needs to run under a user, and needs a (your, the admin's) pubkey for setup -- but there's no need to generate a new one.

Behind the scenes, the pubkey used is added to the gitolite user's authorized_keys-file (and so is any other keys added, when users are added).

[+] tkorri|12 years ago|reply
One other option to gitolite is SCM-Manager[1]. It's written in Java and can be deployed to an application server or installed as a standalone version.

I've used it for a year and I've been quite happy with it.

[1]: http://www.scm-manager.org/

[+] gee_totes|12 years ago|reply
A nice alternative to gitolite is gitosis[0]. I've found it much easier to use (in terms of adding users to repos) and faster to spin up new repos.

https://wiki.archlinux.org/index.php/Gitosis

[+] csense|12 years ago|reply
Gitolite is actually better than Gitosis. With Gitolite, the owner of a repo can grant access privileges to that repo, it doesn't require the intervention of the Gitolite installation's administrator.

I've had some pushback on both of them from users because the command line fu necessary to use both of these projects is apparently just enough of a barrier that even developers find it annoying.

Gitlab is a bigger pain to administer and more resource-intensive, but much easier for users.

[+] emanuelez|12 years ago|reply
Or, if you are a company and need some structure and ease of use, you can try contacting the guys at gitgear.com