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


A Git source code management tool written in Elixir.

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