b-shock. Fortress

FreeBSD上のMastodonを1.6にアップグレードした。

いつも通りの手順と思ったら、ハマった。
ストリーミングAPIへのGETが502を返してた。502を返すのはNginxで、要するにストリーミングAPI自体が 起動してない。

実は、ストリーミングAPIの動作要件は、Node.js 8.xではない。前バージョンである6.xだった。
以下の手順でNode.jsのバージョンを落とし、無事起動。これもマニュアル嫁案件ですね。反省です。

1
2
3
4
5
6
su
pkg delete node
pkg install node6 npm3
cd ~mastodon
yarn install
service mastodon_streaming start

serviceコマンドは、実際には /usr/local/etc/rc.d/mastodon_streaming をラップしてるだけ。
Mastodonを構成する3サービス(本体, Sidekiq, ストリーミングAPI)のrcファイル、 自分が構築した頃はまだ公式のportsがなかったので、ほかのrcファイルに倣って手書きした。

FreeBSDにMastodonを構築した手順は、(rcファイル含め)そのうち書こうと思う。
今はmastodonってそのものズバリのportsがある様で、こっちを使ったほうがラクなのかも。 でもどんな環境になるのかわかったもんじゃないし、という感はある。
Dockerが使えなかったり、1.5のリリース直前にFreeBSDだけハブにされたりw、 細々と問題は発生するけど、Mastodonに限っては自分で構築するほうが性に合ってるようだ。