Mastodon 4.3.0

Mastodon

2日前に Mastodon 4.3.0 がリリースされたからアップグレードする。
詳細は v4.3.0 リリースノートのとおりで変更点が多々ある。とりあえずアップグレードしてから確認していこう。

 

◇Yarn のアップグレード

これ以降、基本的にユーザー mastodon で実行する。作業ディレクトリは ~/live。
インストールするバージョンは 4.5.0。

sudo su - mastodon
cd ./live
corepack enable
corepack prepare yarn@4.5.0 --activate

 

ログアウトして一般ユーザーに戻ってから、再度ユーザー mastodon でログインして確認する。

cd ./live
yarn --version
4.5.0

 

◇Ruby 3.3.5 にアップデート

Ruby 3.2.5 から 3.3.5にアップデートする。
3.2.5 のままでもいいけどこの際なので。

rbenv install -l
3.1.6
3.2.5
3.3.5
jruby-9.4.8.0
mruby-3.3.0
picoruby-3.0.0
truffleruby-24.0.2
truffleruby+graalvm-24.0.2

RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.3.5
・・・
・・・
==> Installed ruby-3.3.5 to /home/mastodon/.rbenv/versions/3.3.5

 

確認する。

ruby -v
ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [x86_64-linux]

 

~/live/.ruby-versionを編集してから(3.2.5 -> 3.3.5に修正)マージする。

git add .ruby-version

 

◇Mastodon 4.3.0 のインストール

git fetch && git checkout v4.3.0
bundle install
yarn install --immutable

 

シークレットの生成と反映。

RAILS_ENV=production bin/rails db:encryption:init
Add these secret environment variables to your Mastodon environment (e.g. .env.production): 

ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=Fnc********
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=vNQ********
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=wfh********

メッセージに従って、.env.production の最終行以下に3行を貼り付ける。

 

続いてアセットを事前コンパイルする。

RAILS_ENV=production bundle exec rails assets:precompile

 

環境変数を設定してデプロイ前のデータベースのマイグレートを実行する。

SKIP_POST_DEPLOYMENT_MIGRATIONS=true
RAILS_ENV=production bundle exec rails db:migrate

 

一般ユーザーに戻って Mastodon を再起動する。

sudo systemctl restart mastodon-* 

 

ユーザー mastodon に戻ってから再度、データベースのマイグレートを実行する。

cd ~/live
RAILS_ENV=production bundle exec rails db:migrate

 

全文検索 Elasticsearch を使用している場合は検索インデックスを再構築する。

RAILS_ENV=production bin/tootctl search deploy --only=accounts

 

古い Ruby を削除する。

rbenv uninstall 3.2.5

 

◇その他

ImageMagick は Mastodon でのサポートが廃止になって、libvips に置き換わる予定。
とりあえず libvips をインストールしてから ~/live/.env.production に MASTODON_USE_LIBVIPS=true を追加してみたけれど、管理画面で確認する限りは ImageMagick のまま。
削除すればいいのかもしれないけれど、今すぐ ImageMagick がダメな訳じゃないから暫くはこれまでどおりにしよう。

sudo apt install libvips
sudo ldconfig

 

以上でとりあえずアップグレード完了。

 


 

Mastodon と同じコンテンツタイプの記事

2日前に Mastodon 4.3.0 がリリースされたからアップグレードする。
詳細は v4.3.0 リリースノートのとおりで変更点が多々ある。とりあえずアップグレードしてから確認していこう。

 

アップデートのお知らせが来てたからいつもどおりのコマンドを実行してアップデート完了。

これまで Ubuntu 22.04 の CT で Mastodon を運用していた。これを、新たに Ubuntu 24.04 の VM を用意して、必要なデータを移行してアップグレードする。

今の環境には apt で ruby と ruby-dev をインストールしている。
これを、最新バージョンをインストールするために rbenv でインストールするよう変更する。

Mastodon が動いているのは LXC(CT)の Ubuntu 22.04。これも 24.04 にアップグレードしようと思ったけれど、単純に sudo do-release-upgrade を実行しただけではダメで、少し工夫が必要。で、とりあえず PostgreSQL 14 を 16 にアップグレードしておいた。

アップデートのお知らを見落としてた。
常に最新バージョン(安定版)じゃないとなんとなくムズムズする。