A self-hostable Git web platform written in Scala, offering repository hosting, issues, pull requests and a GitHub-compatible API.
- Stars
- 8,597
- Forks
- 1,004
- Open issues
- 6
- Last commit
- 23 days ago
What is it?
Gitolite sets up Git hosting on a central server over SSH. Users and repositories are not created by hand on the server; instead, an administrator edits configuration files in a special repository called gitolite-admin and pushes the changes, and gitolite updates the server's SSH keys and repos accordingly.
Access rules can be defined per repository, per branch, and per tag, with levels such as read, write, and forced push (rewind). Users and repos can be grouped to simplify rules. Users can run simple commands over SSH, such as listing the repositories they can access.
The project targets administrators who want to host private Git repositories on their own machine with precise permissions, without a web interface. Its full documentation covers topics such as migration, troubleshooting, and running over HTTP.
Key features
- 01Manages users and repos through a git-tracked configuration repository.
- 02Sets access levels per repository, branch, and tag using regex-based ref patterns.
- 03Supports grouping users and repos for simpler access rules.
- 04Provides SSH commands such as info and help for users to see their permissions.
Use cases
- Hosting private Git repositories for a small team on a single Linux server.
- Enforcing branch protection such as preventing forced pushes to master.
- Giving read-only access to some users while others can push to specific repos.
Quick start
- 1
Clone the gitolite source repository
git clone https://codeberg.org/sitaramc/gitolite - 2
Create a bin directory for the install
mkdir -p $HOME/bin - 3
Install gitolite into that directory
gitolite/install -to $HOME/bin - 4
Set up gitolite with yourself as administrator (place your public key as YourName.pub first)
gitolite setup -pk YourName.pub
Things to know
- Requires a dedicated Unix-like server account and SSH setup; not suited to Windows-only hosts.
- Setup needs a fresh userid with SSH key access, so it takes manual server administration effort.
- Licensed under GPL v2, which is copyleft for derivative distributions.
Topics
FAQ
- What is gitolite?
- Self-hosted Git server on a Unix machine with fine-grained, per-branch and per-tag access control managed through a config repo. Gitolite sets up Git hosting on a central server over SSH. Users and repositories are not created by hand on the server; instead, an administrator edits configuration files in a special repository called gitolite-admin and pushes the changes, and gitolite updates the server's SSH keys and repos accordingly.
- Is gitolite free to use? What license does it have?
- gitolite is open source under the GPL-2.0 license. Check the license terms before using it in commercial products.
- Is gitolite still maintained?
- Actively maintained. The last commit to gitolite was on Sep 29, 2026.
- What can I use gitolite for?
- Hosting private Git repositories for a small team on a single Linux server. Enforcing branch protection such as preventing forced pushes to master. Giving read-only access to some users while others can push to specific repos.
- How do I install gitolite?
- Clone the gitolite source repository: git clone https://codeberg.org/sitaramc/gitolite Create a bin directory for the install: mkdir -p $HOME/bin Install gitolite into that directory: gitolite/install -to $HOME/bin Set up gitolite with yourself as administrator (place your public key as YourName.pub first): gitolite setup -pk YourName.pub
- Where can I get gitolite?
- The source code and installation instructions are on GitHub: https://github.com/sitaramc/gitolite
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A painless, self-hosted Git service written in Go, with issues, pull requests, wiki and webhooks, distributed as a single binary.
A self-hosted, all-in-one software development service written in Go, covering Git hosting, code review, issues, packages and CI/CD.
Self-hostable open source developer platform combining code hosting, CI/CD pipelines, Gitspaces developer environments, and artifact registries.
Self-hosted GitLab Community Edition: a Ruby on Rails web app for managing Git repositories, code reviews, CI/CD and issue tracking.
A self-hosted, all-in-one development platform combining Git hosting, issues, CI/CD, packages, wiki and AI agents.