2024/10/08にmastodon v4.3.0がリリースされました。
Release v4.3.0 · mastodon/mastodon
Upgrade overviewThis release contains upgrade notes that deviate from the norm:‼️ Requires new encryption secrets enviro...
これを入れようとしたときに普段のアップデートとは違う手順があったので記しておきます。
今回の主題
まず、このリリースノートの冒頭に「Requires new encryption secrets environment variables」とあります。これが今回の問題です。
これはMastodonの最新バージョンにおいてデータベース暗号化のために必要な環境変数が設定が必要という意味です。これらの環境変数は、Mastodonが暗号化機能を使用する際に必要です。
v4.3.0を入れた後にコンパイル確認作業をしていると以下のようなエラーメッセージがでます。
mastodon@hogehogehoge:~/live$ RAILS_ENV=production bundle exec rake assets:precompile I, [2024-10-10T23:43:45.364103 #1872231] INFO -- : [dotenv] Loaded .env.production Mastodon now requires that these variables are set: - ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY - ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT - ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY Run bin/rails db:encryption:init to generate new secrets and then assign the environment variables.
まぁ、要はこの3つの暗号を新たに生成してセットしないといけないという意味です。
解決方法
cd liveの状態で以下のコマンドを打ってキーを生成します。
bin/rails db:encryption:init
これを実行すると3つ指定されたキーが生成されます。
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=生成されたキー1 ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=生成されたキー2 ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=生成されたキー3
キーが生成されたら、.env.production
にこの3行を追加します。
その後、以下のコマンドを実行し、アセットのプリコンパイルを行います。
RAILS_ENV=production bundle exec rake assets:precompile
これで生成したキーは読み込めました。ただ、これだけだと私の場合はタイムラインは流れるようになりましたが、通知欄が500エラーになり取得できませんでした。
この場合は、データベースのマイグレーションを再実行して、データベースの状態を最新にします。
RAILS_ENV=production bin/rails db:encryption:init
これが終わったら最新化完了です。
最後にsudo systemctl restart mastodon-*
を実行して再起動しましょう。
コメント