Dockerでhubot-slackを動かす

SlackのTokenを取得する

これは、Slackから取得するればおk

hubotをSlackに接続できるようにする

yomanのジェネレーターを使って作成します 簡単ですね。

npm install -g hubot coffee-script yo generator-hubot
# hubotの雛形を作成
yo hubot
# slackのアダプター
npm install hubot-slack --save

環境変数HUBOT_SLACK_TOKEN にSlackから取得できたTokenを設定する

./bin/hubot

これでSlackに設定したhubotのユーザーがログイン状態になればおk

Dockerで動かすようにする

centos6のDockerfileの内容です。

FROM centos:centos6
MAINTAINER oomatomo ooma0301@gmail.com

# install package
RUN rpm -Uhv http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
RUN yum update -y

# time
ENV TZ JST-9

# nodejs npm
RUN yum install -y tar bzip2 git
RUN curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
RUN yum install -y nodejs
RUN yum install -y gcc-c++ make

# change hubot user
RUN useradd -d /hubot -m -s /bin/bash -U hubot
USER    hubot
WORKDIR /hubot

# npm install
COPY package.json ./
RUN npm install

COPY ./bin/hubot ./bin/hubot
COPY hubot-scripts.json ./
COPY external-scripts.json ./
COPY ./scripts ./scripts

CMD ["bin/hubot", "-a", "slack", "-n", "hubotの名前"]

docker-compose.ymlの内容

hubot:
  build: .
  environment:
    - HUBOT_SLACK_TOKEN

環境変数にHUBOT_SLACK_TOKENを設定していれば

docker-compose up -d hubot でhubotが立ち上がります

リポジトリ

github.com

まとめ

案外簡単にできてびっくりしました

以前は、Global IPなどが必要だったのですが新しい使い方からは要らないので

自分の手元から起動できるので楽です!!