mastodon

Mastodon v2.0.0へ、カスタム絵文字対応!!

現在は正常稼動しています。
ご迷惑をおかけしました。

現在この方法でうちのサーバの画像周りがおかしくなっています。
参考にならないと思いますので、ご注意ください(2017/10/23現在)

上記問題はいつの間にかnginx系のユーザとパーミッションの関係がおかしくなっていました。
こちらの場合では /var/lib/nginx と /var/log/nginx のユーザを /etc/nginx/nginx.conf に書かれているユーザ名に変更することで解決しました。
それともう1つ。
nginxの設定ファイル内にある絵文字関係の項目が増えていました。
さくらのクラウドでは /etc/nginx/conf.d/https.conf のファイルの中になります。
こちらは公式ドキュメントを参考に上記ファイル内にnginx設定にlocation ~ ^/(emoji|packs|system/accounts/avatars|system/media_attachments/files)から始まる部分を追加しました。
こちらの情報は村雨祐次郎(Ongstar)様から教えていただきました。
ありがとうございます。
当サーバはさくらのクラウドのスタートアップスクリプトから作成(v1.3.2から)してバージョンアップを重ねてきている状態です。(2017/10/24現在)

———————————————————-

やってきましたMastodon v2.0.0。
ついにカスタム絵文字対応。
管理者側で、簡単に追加できるようになった。
これで、いろんなカスタム絵文字で他との差別化もできるようになる。
また、v2.0.0 同士であれば、カスタム絵文字もきちんと表示される。

とはいうものの今回のアップデートはかなり難航しました。
きちんと自分がサーバ本体の更新をやってなかったのと、アップデート後のカスタム絵文字の仕様を理解してなかったことが原因。
ということで、今回やった内容を書き留めます。
同じようなトラブルに会う人がいた時の助けになれば…

まずサーバを立ててからyum updateしてなければ先に済ませてください。
でないとyarnとかいろいろなところでこけます(笑)
で、yum update が済んだら再起動。
今回これを最初にしておかなかったせいでyarnでこけるわ、いろんなものがインストールできないわで、心の中で大騒ぎ(笑)

あと言い忘れてたけど、今回のアップロードではDB周りの変更が入ってメモリを食うらしいので、4GBの2Coreに一時的にアップして進めました。

今回のMastodonではRubyのバージョンをv2.4.2にしないといけない。

これでRubyのバージョンは2.4.2になる。
で、いつものようにアップデート。

最初にやらかした分、その後ここまでは問題なかった。
でも、少し問題が出て、なぜかsidekiqがうまく動いてなかったので、サーバごと再起動した。
なんかLTL以外が更新されずにsidekiqの待機状態が増えまくっておかしいなと思ったら、サーバを再起動してみるといい。

で、問題はその後。

一番てこずったのはカスタム絵文字の追加。
管理画面でカスタム絵文字の項目が出て、喜び勇んでアップロードするとエラー!!
なんでやねん!

他からのコピーや、Mastodon上での見え方、トゥートにも問題なく反映されてるのに…
これを解決するのに土日が丸つぶれ。
いろんなことを試行錯誤して、たどり着いたのが、作成しているPNG画像に問題があった!!
なんてこった。
こんな簡単なことでずっと悩んでいたなんて…

普段使用しているPhotoshopで画像の色空間を32bitにしててそのままPNGを作っていたので、ダメだったのだ。
だって仕様には50k以下のPNGしか書いてなかったじゃん。
ちゃんと書いておいてよね!!(思いっきり人のせいにする)
(2017/10/23修正)

上記の件に関しては @unarist 様からご親切に検証いただき、自分のファイルの作成ミスとサーバの設定がおかしいというのがわかりました。
ありがとうございます。
32bitでも問題なく登録できます。

作ったPNGを軽くしようと思ったら、こことか使って軽くすると8bitにも変えてくれて画像データも軽くなります。
参考までにうちで作ったものは100pxの正方形で100dpiの8bit。
これで、問題なくアップロードできました。

リアル脱出ゲーム好きのMastodonインスタンス「リアルエスケープ」

本当に疲れた。
おつかれさまでした。