Hubot 自体を GitHub においておくとして、それを持ってきて Docker コンテナ上で動かす時、コンテナを立ち上げた時に自動で Hubot の起動もできたら、極少数の作業で環境が整う。
Hubot のリポジトリに Dockerfile をつくる
Hubot の動作に必要なイメージは以前の記事で作ったものを使う。
Dockerfile
FROM your/hubot
MAINTAINER keithyokoma
# env set up 1
ENV HOME /home/docker
ENV HUBOT_SLACK_TOKEN token
RUN mkdir /home/docker/hubot
ADD . /home/docker/hubot
# install hubot dependencies
RUN cd /home/docker/hubot && npm install
# start hubot on run docker container
CMD cd /home/docker/hubot; bin/hubot --adapter slack
コンテナを起動する
GitHub のリポジトリを clone したら、以下のコマンドでコンテナを起動する。そうすると、Dockerfile の最後の行の CMD にあるコマンドが実行され、Hubot が立ち上がる。
$ docker run -d hubot_image_name