A hubot script to persist hubot's brain using redis
See src/redis-brain.coffee
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"
]
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://[email protected]:16379/prefix
would
authenticate with password
, connecting to 192.168.0.1 on port 16379, and store
data using the prefix:storage
key.
Once redis is connected it will emit an event "redis-brain-connected"
that all
the other scripts will be able to access. When this event is triggered, it means
that redis has been successfully connected and the data is available for all other scripts.
To listen on this event:
robot.on "redis-brain-connected", () ->
and write any other functionality that would be necessary once the redis brain has been connected.
If you need to install and run your own, most package managers have a package for redis:
- Mac OS X with homebrew:
brew install redis
- Ubuntu/Debian with apt:
apt-get install redis-server
- Compile from source: http://redis.io/topics/quickstart
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)