herokuでzncとlingr-ircdを動かしてngrok経由でつなぐという無茶な環境を構築した

読了まで:約2分


概要: な、何を言っているか分からねーと思うが、俺も何がなんだが分からない。


簡単に言うと、

という二つの buildpack を作って、

  • Heroku 上に IRC Bouncer な環境を作った

という話です。ちなみに、今日は上記二つの buildpack が動くのを確認してから、選挙の投票に向かいました。で、その後で飯を食ったという。

で、上記二つの buildpack の使い方は、それぞれ、

を参照してください。


で、一応中身的な話をすると、今回の環境では、

  1. heroku の 1 worker dyno の中に、それぞれのサービスで必要なデーモンを動かして
  2. 外向けの公開には [[ngrok.com https://ngrok.com/]] を登録して tcp 公開機能を使い
  3. 最後に、公開した ngrok の tcp port に IRC Client から接続

という感じになっていて、かつこれの元のアイディアは、

を元にしています。

あと、

  • lingr-ircd

については、 @mattn さんの、

を、

$ GOOS=linux GOARCH=386 go build

という感じでコンパイルしたバイナリを同梱し、あと、

  • ngrok

については、

で、公開されている、linux 32bit 用バイナリをそのまま同梱しています。

まあその辺りの細かい話というか著作権表記等は、各 buildpack のREADM.md に記載してあります。


ま、今日の話としては以上です。

で、これ一応いまのところは動いてますが、いかんせん結構無茶な構成でやっているし、かつ、今後安定して運用できるかは謎なので、その辺り人が真似するのは激しくオススメできません。

あと、これいまのところこの環境は heroku の無料枠で収まってますが、その辺りもまだ未知数なので、これを試す場合、その辺りも各自のリスク管理の元やってください。


というワケで以上です。

何か質問が有る方は Disqus のコメント欄でお願いします。

#FIXME

にゃるら(カラクリスタ)

『輝かしい青春』なんて失かった人。
次に備えて待機中。

今は趣味でプログラミングをして
生活しています。