redrabbit / git.limo

A Git source code management tool powered by Elixir with easy installation & high extensibility.
https://git.limo
MIT License
497 stars 42 forks source link
elixir git-server github-clone

Git.limo

Elixir CI GitHub license Github Issues

A Git source code management tool written in Elixir.

See the Getting Started guide and the online documentation.

Install dependencies

First, ensure you have libgit2 installed on your system:

OSX

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

Illustration by @ahruygt