Skip to content
This repository has been archived by the owner on Jul 5, 2023. It is now read-only.

bobthecow/genghis

Repository files navigation

The single-file MongoDB admin app, by Justin Hileman.

Build Status Dependency Status

Genghis

There are more ways to run Genghis than you can shake a stick at

Standalone

If you installed Genghis as a Ruby gem, running Genghis standalone is easy:

$ genghisapp

Now that it's running, you can use genghisapp --kill to stop it.

Windows users: Due to this bug Genghis always runs in foreground mode.

If you didn't go the gem route, you can still run genghis.rb standalone:

$ ruby genghis.rb

genghis.php can also be run as a PHP 5.4 CLI SAPI standalone server:

$ php -S localhost:8000 genghis.php

In your LAMP stack

Simply drop genghis.php in a web-accessible directory on a LAMP server. Don't forget .htaccess for pretty URLs!

With nginx and PHP-fpm (and friends)

You'll need some fancy config action, but it's fairly straightforward.

In an existing Rack app

For a super basic Rack config, use a config.ru file like this:

require 'genghis'

run Genghis::Server

If you want to load Genghis on a subpath, possibly alongside other apps, it's easy to do with Rack's URLMap:

require 'genghis'

run Rack::URLMap.new \
  '/'        => Your::App.new,
  '/genghis' => Genghis::Server.new

With Rails 3

You can even mount Genghis on a subpath in your existing Rails 3 app by adding require 'genghis' to the top of your routes file (or in an initializer) and then adding this to routes.rb:

mount Genghis::Server.new, :at => '/genghis'

Genghis Dependencies

PHP

You will need at least PHP 5.2 and the PECL MongoDB driver.

Ruby

Genghis requires Ruby 1.8 or awesomer.

The easiest way to install Genghis and all dependencies is via RubyGems:

$ gem install genghisapp

Or you could check out a local copy of the Git repo and install dependencies via Bundler:

$ gem install bundler
$ bundle install

Configuration

Check the Genghis wiki for additional configuration information.

License

Genghis uses a number of amazing open source libraries, distributed under the following licenses