git.limo is a free, open source version control & collaboration project written in Elixir and released under MIT. It has 515 GitHub stars, 45 forks and 5 open issues, and was last pushed 12 months ago. On this registry it ranks #28 of 30 tracked projects in Version Control & Collaboration, with 5 head-to-head comparisons available.

What is git.limo?

What it is

git.limo is a Git source code management tool written in Elixir, released under the MIT license. It lives in the Elixir ecosystem and presents itself as a self-hosted Git server with a web front end, combining repository hosting with the surrounding collaboration features that teams normally expect from a code hosting platform. The project has been on GitHub for roughly nine years, carries 515 stars and 45 forks, and its most recent push was in September 2025. Topics attached to the repository are elixir, git-server, and github-clone.

The concrete problem it solves is the gap between raw Git and a full collaboration suite. Git on its own provides transport and history, but not browsing, review, or issue tracking. git.limo wraps Git HTTP and SSH access in a simple web interface, adds an issue tracker and code review workflow on top, and exposes everything through a GraphQL API. Because the storage backend is customizable and the system supports a distributed cluster setup, the project is aimed at operators who want to run their own Git hosting rather than hand repositories to a third party.

Key capabilities

  • Web interface for browsing repositories, described in the README as simple and intuitive.
  • Git transport over both HTTP and SSH.
  • A fully integrated GraphQL API covering the application.
  • Customizable Git storage backend.
  • Distributed setup, allowing the service to run as a cluster.
  • Built-in issue tracker.
  • Built-in code review workflow.

Who uses it and how

  • Teams that want self-hosted Git repository hosting with a browser-based interface rather than command-line-only access.
  • Projects that need issue tracking and code review alongside repository browsing, without running a separate tracker.
  • Operators who must control where Git data is stored, using the customizable storage backend.
  • Organizations that need to scale horizontally, using the distributed cluster mode.
  • Integrators building against the GraphQL API rather than driving the web interface.

Getting started

The README describes a build-from-source path: install libgit2, Node.js, and PostgreSQL, clone the repository, then run mix deps.get, mix compile, and npm install --prefix apps/gitgud_web/assets. After generating an SSH host key with ssh-keygen and initializing the database with mix ecto.setup, the server starts with mix phx.server, exposing HTTP on port 4000 and SSH on port 8989. No Docker image or hosted option is listed.

When to use it — and when not to

Choose git.limo when the goal is a self-hosted Elixir-based Git server with review and issue tracking included, and when controlling the storage backend or running a cluster matters. A self-hoster must operate PostgreSQL, compile web assets with Node.js, install libgit2, and generate and protect an SSH host key. The README still lists continuous integration as

project readme (upstream, from github) — read inline

git.limo

Elixir CI GitHub license Github Issues

A Git source code management tool written in Elixir.

  • Simple yet intuitive web interface.
  • Git HTTP and SSH support.
  • Fully integrated GraphQL API.
  • Customizable Git storage backend.
  • Distributed setup (cluster).
  • Issue tracker.
  • Code reviews.
  • Continuous integration.

Illustration by @ahruygt

Install dependencies

First, ensure you have libgit2 installed on your system:

Mac OS
brew install libgit2
Ubuntu
sudo apt-get install libgit2-dev

You will also need Node.js to compile Web assets and PostgreSQL to store your application data.

Clone and compile

Clone the latest version of the project:

git clone https://github.com/almightycouch/gitgud.git

Download Hex dependencies and compile everything:

mix deps.get
mix compile

Install Javascript dependencies

Install all NPM packages required by Webpack to generate Web assets:

npm install --prefix apps/gitgud_web/assets

Generate SSH public keys

In order to provide SSH as a Git transport protocol, you must generate a valid SSH public key for the server:

ssh-keygen -m PEM -t rsa -f apps/gitgud/priv/ssh-keys/ssh_host_rsa_key

Setup database

The last step before running the server is to create and initialise the SQL database:

mix ecto.setup

Run server

Finally, start both HTTP (port 4000) and SSH (port 8989) endpoints:

mix phx.server

Frequently asked questions

Is git.limo free to use?

git.limo is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does git.limo do?

A Git source code management tool powered by Elixir with easy installation & high extensibility.

What is git.limo written in?

git.limo is primarily written in Elixir. Its source is publicly available at https://github.com/redrabbit/git.limo, and it has 515 GitHub stars.