gemini-based minimalist software forge written in Go for hosting Git repositories.
The main purpose of Gemigit is to allow users to create and manage their git repositories, below is an example of the account page of a connected user.
Repositories are private by default, they can only be seen by their owner and those that has been granted read access to it. It is also possible to make the repository public so that it can be seen by everyone. Gemigit has a page to list public repositories as seen in the picture below.
Users can manage their repositories access, giving read or write access to specific users or groups of their liking.
Users can create groups to make managing privileges easier. Instead of adding the same users to multiple repositories, a repository owner can create a group of users and add it to multiple repositories.
Gemigit can be tuned using the configuration file, many options are available like serving git repositories on the http protocol, using LDAP for users authentication, choosing between SQLite and MySQL for the database, Gemigit can also be configured to be in stateless mode to do load balancing using multiple instances.
The source code is available here, and it can also be cloned with the following command :
git clone https://gmi.rmf-dev.com/Vaati/Gemigit