Genghis
The single-file MongoDB admin app, by Justin Hileman.
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
- Copyright 2011 Justin Hileman
- Distributed under the MIT License
Genghis uses a number of amazing open source libraries, distributed under the following licenses
- Backbone.js — MIT License
- CodeMirror — MIT-style License
- Esprima — "Simplified" BSD License (2-clause)
- Hogan.js — Apache License v2.0
- hoverIntent — MIT or GPLv2 License
- jQuery — MIT License
- KEYS.css — MIT License
- Modernizr — MIT or BSD (3-clause) License
- Mousetrap — Apache License v2.0
- TableSorter — MIT or GPLv2 License
- Twitter Bootstrap — Apache License v2.0
- Underscore.js — MIT License