mastodon

Mastodon 1.5.1から1.6.0へ

またまたやってきましたアップデート。
毎回のことだけど、アップデート大変です(笑)
今までも何回かやってきたけど、リリースノートに書いてある通りにやってできないからね!
頼むよオイゲン・ロチコさん。
まったくもう。

今回の1.6.0は今までのものから大幅に変更が加わっている。
今まではOStatusというプロトコルを使っていたのをActivityPubというものに置き換えたバージョンになる。
詳しいことはわかりません(笑)
まあ、配信方式が変わるので、今後のことを考えるとバージョンアップは不可避と。
大規模インスタンスが1.6.0になったらやろうかなと思ったら、早々にみんな1.6.0になってしまったので、仕方ないなと…

今回は前回よりもそういう仕様変更はあるんだけど、リリースノートにはそんなにややこしいことが書いてない。
ということで、リリースノートをよく読んでアップデート開始。

systemctl stop mastodon*  #いつものようにMastodonをとめる

su - mastodon
cd /home/mastodon/live
git branch
git checkout master
git pull
git checkout v1.6.0
bundle install --deployment --without development test
yarn install
RAILS_ENV=production bundle exec rails db:migrate
RAILS_ENV=production bundle exec rails assets:precompile
RAILS_ENV=production bundle exec rails mastodon:maintenance:remove_deprecated_preview_cards
exit
systemctl restart mastodon*

やることはこれだけ。
でもね、またやり終わったら案の定エラー出たんだよね。
なんかうまくインストールできていない雰囲気は感じてたし(笑)

確かに上記のやり方でやった時にgit pullした段階で、yarn.lockファイルのエラーが出てた。
でも気にせずやったらできるかなって思ってやったら、できなかったってことなんだよね。
Google先生によるとエラーに書いてあるようにyarn.lockファイルをマージするか隠すかしろということらしい。
なので、yarn.lockファイルを一旦/home/mastodon/liveから別のところに移動させた。
やり方としては以下のように。

systemctl stop mastodon*

su - mastodon
cd /home/mastodon/live
mv yarn.lock ../  #yarn.lockファイルをひとまず一番上の階層へ退避
git branch
git checkout master
git pull
git checkout v1.6.0
bundle install --deployment --without development test
yarn install
RAILS_ENV=production bundle exec rails db:migrate
RAILS_ENV=production bundle exec rails assets:precompile
RAILS_ENV=production bundle exec rails mastodon:maintenance:remove_deprecated_preview_cards
exit
systemctl restart mastodon*

これでやると確かにエラーは出ずにyarnをインストールすると再インストールされるような感じになる。
で、最後のRAILS_ENV=production bundle exec rails mastodon:maintenance:remove_deprecated_preview_cardsをすると、古いものを消すかどうか2つ質問されるので、そのときは「y」を選択して全部消す。

再起動が完了すれば、しばらくしてデータを全部読み込みなおしてくれるとブラウザでちゃんと表示されるようになりました。

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

おつかれさまでした。