そろそろ旬も過ぎたしMastodonについて書いておこうか

ポエム

何度か人前で発表していると、聞きに行っただけの勉強会で突然「わいわいたさん、ちょっと時間あるんで10分ぐらい喋って貰えますか」とか、元々20分の発表と聞いていたのに「時間が押してるんで、5分でいいですか」とか、5分だと思って行ったら本当は30分だったとか(これは単に私の確認不足だった)色々起こる。

特に一番最初のは本当に難しくて、引き延ばしや短縮はまあ気合いでどうにかなるんだけど、特に話す予定も無かったのにじゃあ一席、みたいなのは結構難しい。

とはいえ折角お声がけ頂いたのにお断りするのは心苦しいし、機会を頂いたら最大限活用したいと思っているので、とりあえず何か話す用のネタは大体考えていたりする。

大体時事ネタを含めたりする事が多くて、今回はMastodonを触って思った事をとりあえずストックしていたのだが、とりあえず旬は過ぎてそうなのでブログに書いてみる。

Mastodon

  • https://mstdn.uec.tokyo というMastodonインスタンスを運用している
  • Mastodonは、普遍的な(教科書的なと言うべきか)Railsアプリケーションである
    • つまり、富豪的な実装であると言える
    • 悪い事は言わないのでメモリ2GB以上は用意しよう
    • Docker上で動かしたり分散するのも可能だが、個人的には「巨大なRailsインスタンス」と「巨大なDB用インスタンス」の2台で動かすのが楽なのではないかと考えている
  • Mastodonの運用はWeb系のアプリケーション導入/運用の練習には適しているかも
    • Nginx(HTTP) / Rails / Postfix(SMTP) が必要になってくる
    • ちなみにメールはメールアドレス確認メールを送信するだけなので、メールを送る処理を無効化したり、SMTP SaaSとかに任せる方法もある
  • Mastodonの重いところは、ディスクとDBコネクション周りか?
    • クライアントとアプリケーション間でストリーミングコネクションを張るので、Nginxのコネクション許可数を増やすのをおすすめ
    • SidekiqとDBの接続周りも増やすといいかもしれない
  • アプリケーションの更新はかなり高速なので、運用するなら一定のポリシーでやると良い
  • 更にスケールしたいという需要があるならpawoo.net の記事が参考になる
    • まあ、Sidekiqワーカを分散するぐらいだろうか…

以上。

まとめ

とりあえずこれで5分〜20分ぐらいは保ちそう。

現状の想定は「Mastodonという言葉は知っているけど技術的な要件は知らん」ぐらいの層を想定している。多分この層が一番多いのではなかろうか。

30分〜1時間のセッションならもう少し話すネタが必要かな。多分実際のconfを見せてみたり、サーバの様子を見せてみたりすれば+10分はいける。1時間までいくならしっかりとした計算式や根拠を話すと多分伸びる。が、1人だとこれが限界かなあ。

という訳で10分ぐらいの登壇ならいつでもしますのでいつでもお声がけください。