やりたいこと
自宅のネットワーク環境にあるRaspberry PiでHubotを動かす。
Slackを使ってHubotと会話する。
Raspberry PiのTCPポート9999番を使ってHubotを起動。
Rasberry Piの準備
Type-Bを利用。
Raspberry PiへOSインストール
Arch Linuxを選択。
ベース環境をインストール
以下のパッケージを導入。
- Node.js
sudo pacman -S nodejs
- Redis
sudo pacman -S redis
- Hubot本体とCoffe-Script
sudo npm install -g hubot coffee-script
Redisの起動
sudo systemctl start redis
Hubotの実行環境をインストール
Hubotのディレクトリを作成し,そこへHubotの実行環境を構築する。
- Hubotのディレクトリ作成
cd ~
hubot --create hubot
- Hubotの次項環境をインストール
cd hubot
npm install
- Slackとの連携パッケージをインストール
npm install hubot-slack --save
Slack側の設定
- 上部のメニューからConfigure Integrationsを選択
- Add New IntegrationからHubotを追加
- Hubotへ施すSlackの固有情報を取得
Setup InstructionsのExpandボタンを押下。
Configure the following options
の値をメモ。
HUBOT_SLACK_TOKEN=xxxxxxxxxx
HUBOT_SLACK_TEAM=yyyyyyyy
HUBOT_SLACK_BOTNAME=slackbot - Slackからアクセスする際のRaspberry Piのアドレスを登録
- Save Integrationsを押下して設定を保存
Hubot用の起動スクリプトを作成する
Hubotディレクトリ以下に作成。
setup.sh
export HUBOT_SLACK_TOKEN=xxxxxxxxxx
export HUBOT_SLACK_TEAM=yyyyyyyy
export HUBOT_SLACK_BOTNAME=slackbot
export PORT=9999
./bin/hubot --adapter slack
自宅ブロードバンドルーターからポート開放
ポート9999に対する通信を,Raspberry PiのIP(ココでは192.168.24.11)へ転送するように設定。
ブロードバンドルーターはBUFFALOのWZR-HP-G302Hを利用。
別途,DDNSなどでドメイン名を取得しておけば便利。
Hubotの実行
sh setup.sh