Redashをherokuでホスティングする

モチベーション

  • Redashを楽に安くホスティングしたい
  • 以前はherokuでのホスティングをサポートしていたけど、現在はサポートなし
  • しかしDockerでのホスティングをサポートしているようなので、DockerイメージをherokuにpushしてしまえばherokuでもRedash使えるのではないかと考えた

いくつか気をつけるべき点があったけど、比較的すんなりRedashをherokuで動かすところまで行けたので要点をまとめる

気をつけるべき点

herokuでDockerコンテナ動かすにあたっていくつか気をつける点があった。

  • WORKDIRのデフォルトが/なので/appに変更する
  • $PORTをポート番号として受け付ける必要がある
    • 公式のDockerイメージで使うサーバ起動コマンドは5000番ポートが決め打ちで書かれていて、さらに外から変更することができなかった
    • ↑を解決するためにENTRYPOINTの部分だけ削除したDockerfileからイメージを作ってDockerHubに置いてそれを使うようにした

あとはアドオンの問題。HerokuRedisの無料プランを使うと20接続までしか受け付けず、コネクションエラーになる。RedisCloudだと無料で30コネクションまで使えてうまく動く。

できあがったDockerfileは↓で管理しているのでherokuでRedash使ってみたい方は参考にしてみてください。

willnet/redash-on-heroku: Dockerfiles for hosting redash on heroku

感想

herokuでDockerコンテナ動かすの、思ってたよりかなり楽だった。herokuすごい