受けた肌のかゆみがまだ、すこし残っているようです。@kjunichiです。前提http://blog.horimisli.me/entry/botkit-heroku-redisが参考になったのですが、herokuの無料枠でbotkitを動かすには、Webサーバーを動かしておくことが無難な模様。されているので、レイヤーを合成する必要があり、結構面倒。APIと同様のAPIが利用可能。pngimgにレイヤーを重ねたアメッシュの画像がPNG形式で取得可能。怒られ、サイズを小さくすると、今度は単なる文字列扱いとなってしまった。いうことで、herokuの制約で動かしているWebサーバー(express)が意味を持つことになる。TL上にアメッシュの画像を表示できることになる。前述のライブラリを利用すれば、以下の様に数行で記述できる。bot.reply(message,"http://xxxx/amesh");});という具合にアメッシュ画像のURLを返すだけでOK。アメッシュボットの完成となるわけだが、意外とこの先も難関が待っていた。nodejsのイメージのnode.jsのバージョンが古すぎhttps://github.com/heroku/docker-nodejs/blob/master/Dockerfileconstがエラーとなってしまい、nodeのバージョン調べたら、0.12系だった。この問題は、heroku/nodejsイメージを自前で作るのでそれほど最終的には問題にはならなかった。node.jsを新しくするには以下の様にheroku/nodejsのソースをクローンして、環境変数のNODE_ENGINEに利用したいバージョンを記述すればOKだった。ソースから入れるDockerfile書くには大変。apt-getコマンドでインストールしたいところ。/app配下にコピーする必要がある。インストールされるので。いうことで、汎用的なapt-getでインストールしたファイルを取り出すDockerイメージを作成した。apt-getを実行する直前の状態はなるべくherokuのイメージ近いものする必要がある。https://github.com/heroku/stack-imagesにイメージのソースが置いてあり、これを元にイメージを作成。["bash"]cedar.shは以下の通り。https://github.com/heroku/stack-images/blob/master/bin/cedar-14.shで必要なところを、切り貼りしただけ。抽出を行うツールを作った。/usrから/app/usr/localへの書き換えも行う必要があった。先ほどつくったイメージkjunichi/aptgetを使うだけ。kjunichi/aptgetnode-canvasに必要なパッケージnode-canvasのREADMEに書いてある依存パッケージは以下。これをaptlist.txtに書く。libcairo2-devlibjpeg8-devlibpango1.0-devlibgif-devbuild-essentialg++以下のようにコンテナイメージ作成し、動かして、ファイルを取り出す。docker:initで生成されたDockerファイルがそのまま使える。https://github.com/heroku/docker-nodejs.git以下のように抽出したファイル(dest.tar.bz2)を自前のheroku/nodejsイメージに組み込む。環境変数を設定する必要がある。今回利用しているamesh-cliモジュールはJSTで前提なので、herokuもJSTで動かす必要があった。TZ=Asia/Tokyoで設定出来た。まとめやったこと今回の作業を通じて以下のことができた。コマンドラインツールから一部機能を切出してライブラリ化する(amesh-cli)herokuで動かしたDockerイメージに入れたいパッケージを抽出するDockerイメージの作成https://github.com/kjunichi/docker-getaptわかったことslackのトークン等の環境変数はherokuでは無効化されているようだが、LD_LIBRARY_PATHは今のところ、Dockerfileでの設定が効いている模様。node-ffiへコントリビュートとtrusterdへのjoin。logからアクセス元のIPアドレスを抽出してみたこんばんは、明日は息子達の保育園の運動会、@kjunichiです。»プロフィールid:kjw_junichiブログ名の通りです。(51)はてなブログをはじめよう!kjw_junichiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。