Dockerfile for Hubot
Building your own image
$ git clone https://github.com/liquidstate/docker-hubot.git
$ docker build -t hubot docker-hubot
Basic example
Getting a basic hubot running is as simple as:
$ docker run -it hubot
You can then test it using some of the basic commands:
Hubot> hubot ping
PONG
Hubot> hubot help
Hubot adapter - Reply with the adapter
Hubot echo <text> - Reply back with <text>
Hubot help - Displays all of the help commands that Hubot knows about.
Hubot help <query> - Displays all help commands that match <query>.
Hubot ping - Reply with pong
Hubot time - Reply with current time
Hubot>
Changing basic configuration
Hubot (and its plugins) are usually configured via environment variables. For example:
HUBOT_NAME=Hubot
HUBOT_ADAPTER=shell
HUBOT_PORT=8080
You can set these on the command line:
$ docker run -e 'HUBOT_NAME=marvin' -e 'HUBOT_PORT=80' -it hubot
marvin> marvin echo hello
hello
marvin> marvin time
Server time is: Wed Mar 11 2015 00:05:53 GMT+0000 (UTC)
marvin>
Adding more scripts
You can mount your own configuration directory as a volume:
$ docker run -e -v <localpath>:/opt/hubot/conf -it hubot
There are a few ways of adding new scripts:
- You can load scripts from npm packages by adding them to a
external-scripts.json
file in your config directory. - You can include your own .coffee files in a
scripts
directory in your config directory.
You can get more information about scripts and how to load them at: https://github.com/github/hubot/blob/master/docs/scripting.md
On start up, the container will install the desired scripts from the Internet and their dependencies before starting Hubot.