humante / redis-browser

Web-based Redis browser that can work as standalone app or mounted Rails engine
MIT License
603 stars 67 forks source link

Redis Browser Gem Version

Features

Required

Installation

To use with ruby version < 2.2, you must install specifically from 0.4 line which is maintained in ruby-1.9.2+ branch.

$ gem install redis-browser --version '~> 0.4.0'

Otherwise install the newest version.

$ gem install redis-browser

Usage

Standalone

$ redis-browser

You can predefine a list of available connections in a YAML file in couple of ways.

connections:
  default:
    url: redis://127.0.0.1:6379/0
  production:
    host: mydomain.com
    port: 6666
    db: 1
    auth: password

Then start with

$ redis-browser --config path/to/config.yml

Or quickly connect to a database without the hassle of creating custom configuration file

$ redis-browser --url redis://hostname:6379

The connection options can also be specified in similar way to redis-cli command

$ redis-browser -h 127.0.0.1 -p 6379 -a password -n 0

Run with --help to see what other options are available.

As engine

Add to gemfile

gem 'redis-browser'

To use with ruby version < 2.2 specify the version from 0.4 line.

gem 'redis-browser', '~> 0.4.0'

And to routes.rb

mount RedisBrowser::Web => '/redis-browser'

Use config/initializers/redis-browser.rb to predefine a list of available connections

config = Rails.root.join('config', 'redis-browser.yml')
settings = YAML.load(ERB.new(IO.read(config)).result)
RedisBrowser.configure(settings)

Protect with HTTP Basic Auth

RedisBrowser::Web is a Sinatra app, so you can inject any Rack middleware into it.

# config/initializers/redis-browser.rb
RedisBrowser::Web.class_eval do
  use Rack::Auth::Basic, "Protected Area" do |username, password|
    username == 'foo' && password == 'bar'
  end
end

Screenshots

Browse keys See list with pagination ZSET support JSON pretty print

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request