Gemigit

Gemigit is a gemini-based minimalist software forge written in Go for hosting Git repositories.

Features

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.

account

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.

public

Users can manage their repositories access, giving read or write access to specific users or groups of their liking.

private

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.

group

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.

configuration

Getting started

The source code can be viewed on github.

The repository can also be cloned with the following command:

git clone https://github.com/RealMelkor/Gemigit.git