This is a Docker image for Hubot based on the Getting Started documentation and hubot-generator. It supplements with several JS-only chat adapters to make the out-of-box experience easy and serve as a reasonable basis for customization.
It contains adapters for:
Getting up and running with an ephemeral Hubot instance is easy:
$ docker run -d --rm --name=mybot \
-e HUBOT_SLACK_TOKEN=xoxb-YOUR-KEY/HERE \
kylev/hubot \
--adapter slack
Or you can use docker-compose to add persistence by setting a REDIS_URL
that hubot-redis-brain will use.
version: '2'
services:
redis:
image: redis
volumes:
- redis:/data
hubot:
image: kylev/hubot
command: -a slack
depends_on:
- redis
environment:
HUBOT_SLACK_TOKEN: xoxb-YOUR-KEY/HERE
REDIS_URL: redis://redis
volumes:
redis:
Want to build your own image with a custom script and hubot-auth added for fine tuned control and your own custom script? Just write your own Dockerfile
. I've included jq
in the image to simplify handling JSON configs.
FROM kylev/hubot:latest
RUN \
npm install --save --production --silent hubot-auth && \
jq '. += ["hubot-auth"]' external-scripts.json > new-scripts.json && \
mv new-scripts.json external-scripts.json
ADD custom_thingy.coffee /hubot/scripts/
Or maybe you just want something entirely self-contained with your favorite set of plugins.
FROM kylev/hubot:latest
ENV HUBOT_HIPCHAT_JID yourvaluehere
# Set more hubot config env here.
RUN \
npm install --save --production --silent \
hubot-business-cat hubot-trello hubot-plusplus hubot-mongodb-brain
COPY my-scripts.json external-scripts.json
CMD ["-a", "hipchat"]
If you would like to contribute, please write a pull request! Short of that, detailed bug reports are always appreciated.
See the LICENSE file for license rights and limitations (MIT).