
In simple English
This tool lets you host your own git code repositories on a private server. You can control exactly who gets to read or write to each project. You manage permissions by editing text files and pushing them to the server. It runs on any basic Unix server and needs no complex database. It costs you only the price of a small server and some setup time.
What it is
Gitolite is a server-side program that manages access control for git repositories over SSH. It allows an administrator to set up fine-grained permissions for users without giving them shell access to the server.
What it is good for
Solo builders and small teams who want to host their own source code on a private virtual private server without relying on commercial hosting providers.
- Keeps all your source code on your own private server under your direct control.
- Allows precise control over who can read, write, or push to specific branches and tags.
- Manage all user keys and permissions through a simple git repository instead of editing server files.
- Requires a dedicated Unix user account and comfort with command-line administration and SSH keys.
- Relies on Perl (a general-purpose programming language often pre-installed on Unix servers), which you must have available on the server.
- No graphical user interface, so all administration happens through configuration files and the command line.
manually editing server ssh keys and bare git repository permissions
git
- go-gitea/gitea59k stars
A full web-based code hosting service with a graphical interface instead of a command-line tool.
- gitbucket/gitbucket9.4k stars
A git hosting server powered by Scala that mimics GitHub features in a self-hosted package.
- nicolargo/glances34k stars
A live view of one computer's health, in a terminal, in a browser, or through an AI assistant.
- dokku/dokku32k stars
A small platform you install on one server, which builds and runs an app every time you push code to it.
- netbox-community/netbox22k stars
A database of what a network and its hardware are supposed to look like, which other programs can read.
git clone https://github.com/sitaramc/gitolite mkdir -p $HOME/bin gitolite/install -to $HOME/bin gitolite setup -pk YourName.pub