A lightweight self-hosted alternative to github
Every developer should track their work using some sort of version manager. It’s something that will save a lot of trouble when trying to rollback a change or add new code with the security that you can audit what’s being added.
In that light, I thought it would be a good idea to have a secure place to hold data, on my own, of work that I have saved on private repositories at Github.
I had a small feature set in mind:
- be able to secure my code locally
- have complete control over who was able to reach it
- a reliable service that I could access from everywhere in a secure form
With those assumptions on mind I started to look for a alternative. But every one was just packed of features, they were complex and I wanted something simple.
That’s when I decided do come up with something on my own.
For the frontend and repository view I used cgit. And for the backend I have used gitolite.
I think they both are amazing projects. They are stable, robust, secure and simple.
- cgit is a well established project, it is currently used to serve kernel.org
- gitolite is an amazing project, that uses ssh to control access to source code.
It’s possible to customize a lot with this combination.
I have added a thin layer for authentication and authorization using basic access authentication using cookies and mruby.
If you got interested, please, give it a look at lightweight-git at github.