Awesome Open Source
Awesome Open Source


Build Status Code Climate Gem Version License

Ginatra is a simple web-based git repository browser built on Ruby Sinatra.

[ website | screenshots | demo ]


  • Easy installation
  • Multiple repository support
  • Multiple branch/tag support
  • Commit history, diff, patch
  • Feeds in Atom format
  • Syntax highlighting
  • Repository stats
  • Smart HTTP support
  • and more


There are 2 ways to install Ginatra: as a packaged Ruby gem or as a Sinatra app.
It's recommended to install it as a ruby gem, unless you know what you're doing.

Ginatra gem

Run the following command to install Ginatra from RubyGems:

gem install ginatra -v 4.1.0

Create config file (see Configuration section in README).

Start the Ginatra server:

ginatra run

By default Ginatra will run on localhost:9797

Ginatra app

Run the following commands to install Ginatra from source:

git clone git://
cd ginatra/
git checkout v4.1.0

Create config file or modify existing (see Configuration section in README).

Start the Ginatra server:

./bin/ginatra run

By default Ginatra will run on localhost:9797


Create ~/.ginatra/config.yml file with your own settings. See config.yml for a reference.

git_dirs - Ginatra will look into these folders for git repositories. It's required to append * at the end of path. Example: /home/Development/repos/*

sitename - name of the site. Used in the page title and header.

description - description of web interface. Used in index page.

port - port that Ginatra server will run at.

host - host that Ginatra server will run at.

prefix - prefix for the host serving Ginatra. Used when Ginatra is installed in subdirectory.

git_clone_enabled? - enables smart HTTP support and allows to clone git repositories.

log_file - location of the log file where Ginatra will log warnings and errors. If this setting doesn't present Ginatra will log out to the standard output (stdout).

If you installed Ginatra as an app, you can change settings by editing config.yml file in root folder.

You need to restart web server after applying changes to config file.


You can interact with Ginatra via CLI. The following commands are available:

ginatra run    # Starts Ginatra server
ginatra stop   # Stops Ginatra server
ginatra status # Checks status of the Ginatra server (running or not)
ginatra -v     # Shows version of Ginatra
ginatra -h     # Lists available commands and their options

How to Contribute

Open issues are labeled per perceived difficulty. See contributing guidelines.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
ruby (12,917
git (834
web-app (118
web-application (117
sinatra (44