node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



A hubot script to persist hubot's brain using redis

See src/ for full documentation.


In hubot project repo, run:

npm install hubot-redis-brain --save

Then add hubot-redis-brain to your external-scripts.json:



hubot-redis-brain requires a redis server to work. It uses the REDIS_URL environment variable for determining where to connect to. The default is on localhost, port 6379 (ie the redis default).

The following attributes can be set using the REDIS_URL

  • authentication
  • hostname
  • port
  • key prefix

For example, export REDIS_URL=redis://:password@ would authenticate with password, connecting to on port 16379, and store data using the prefix:storage key.

For a UNIX domain socket, export REDIS_URL=redis://:password@/var/run/redis.sock?prefix would authenticate with password, connecting to /var/run/redis.sock, and store data using the prefix:storage key.

Installing your own

If you need to install and run your own, most package managers have a package for redis:


If you are using boxen to manage your environment, hubot-redis-brain will automatically use the boxen-managed redis (ie by using BOXEN_REDIS_URL).


If you are deploying on Heroku, you can add the Redis Cloud or Redis To Go addon to have automatically configure itself to use it:

Other redis addons would need to be configured using REDIS_URL until support is added to hubot-redis-brain (or hubot-redis-brain needs to be updated to look for the environment variable the service uses)

Redis Twemproxy

If you are using Twemproxy to cluster redis, you need to turn off the redis ready check which uses the unsupported INFO cmd.