Mastodon 4.3.0
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
以上でとりあえずアップグレード完了。