表題通りのものを作ったので報告します。
- Docker Hub: https://hub.docker.com/r/pastak/docker-heroku-nodejs-opencv/
- repository: https://github.com/pastak/docker-heroku-nodejs-opencv
経緯としては週末にOpenCVとimagemagickで顔合成するツール作ったので、それをWebアプリケーション化したいと思って作った。
すぎゃーんさんのブログに書かれている情報を参考にしたらそれっぽく動くようになってめでたい感じ。
すぎゃーんさんの作られたDockerfileをベースにheroku/docker-nodejsとdocker-pythonを参考にして構築した。
構成としてはdocker-pythonの上でNodeJSとOpenCVをそれぞれインストールするという感じになっている。
OpenCVなどのインストールはすんなりと成功したのだけど、node-opencvが結構鬼門で、それに対応するためにいくつか環境変数を適切に設定したり、OpenCVのバージョンを3.0から2.4系に下げるなどをしている。
HerokuにDockerをDeployする方法に関しては公式ドキュメントに詳しく書かれてるので、それを見てheroku-docker pluginでえいやとやると動くはず。
詳細については顔認識をして◯で囲むアプリケーションを書いた*1ので、それを参考にしてもらえれば良いかと思います。
repository: https://github.com/pastak/docker-heroku-nodejs-opencv-sample
App URL: https://heroku-nodejs-opencv-sample.herokuapp.com/
何かあればissueなどで教えて下さい。よろしくお願いします。
*1:コードは http://qiita.com/n0bisuke/items/f650a876d14807b70f80 のをほぼそのまま利用しました