de[v|b]log

ShellScript, Coffee, iOS/OSX Dev
Origin: Himajinworks.
About.

Parse-server + Slackbot

概要

この記事では(タイトルに含まれていますが…)SlackBotの実装等には触れず、今回利用したDockerイメージ群(yongjhih/docker-parse-server / Docker-Composeで管理)と、利用した(Ruby)Gemとして adelevie/parse-ruby-clientdblock/slack-ruby-bot の組み合わせでハマった点についてまとめる。

モチベーション

  • 結構前に Parse-server がGithubで公開されているのでそろそろ何かに使いたかった
    • 自宅サーバー内の開発用のバックエンドとして持っておきたかった
  • SlackBotをメンテナンスしたい頃だった
    • 以前の構成がイケていなかった

ライブラリ : バージョン (Tag)

環境

  • Ruby : 2.3.0
  • Docker : 1.11.1
  • Docker-compose : 1.7.0
  • OS
    • Mac OSX : 10.11.5
    • Debian : 8 (Jessie / x86_64)

構成図

Parse-server+Slackbot_1

こけたこと

  • dblock/slack-ruby-bot を使ってSlackBotを作成して、 adelevie/parse-ruby-client を使ってParseにつなぎこむ予定でいたら、 lostisland/faraday_middleware のバージョンで競合が起きてしまった。
    • adelevie/parse-ruby-client をForkして 'faraday_middleware', '~> 0.9.1' まで下げることで対処した。
    • もう少しいい対処法を考えてみたい。
  • docker-parse-server/docker-compose.yml at master · yongjhih/docker-parse-server · GitHubdocker-compose.yml をいじっていたが、docker-compose力が足りなくて各所の設定で手間取った。
    • 以下のような感じで起動することで対処した。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #! /bin/bash
    
    APP_ID='...' \
      APP_NAME='...' \
      MASTER_KEY='...' \
      SERVER_URL='...' \
      REST_API_KEY='...' \
      USER1='...' \
      USER1_PASSWORD='...' \
      docker-compose up -d
    
    • Parse-serverがうまく起動していなかったりIPアドレスの設定がおかしかったりで、Parse-Dashboardからサーバーが見えないことが多々発生して苦戦した。
      • Dockerコンテナのログを見るだけだとIPアドレスの設定がおかしいかわからなかった
      • Dockerホスト側のディレクトリをParse-serverのCloud-code保存ディレクトリとしたとき、 main.js が配置されていないとParse-serverが起動しない

その他

  • 上記でこけたところ以外に関しては特に難しいところはなかった
    • Docker-composeでサーバー群を設定する前に、一度手動で構築はしてみた
      • 特にしんどいところはなく、Docker周りの学習コストが厳しそうという人は手動で環境構築でもいいのではないかと思う

参考

ひとこと

我が家のBotは今日も元気に動いている