Skip to content

アップデートに伴う設定変更

KMY(雪あすか) edited this page Apr 22, 2024 · 9 revisions

Ver.12以降へのアップデート

kmyblueでは、以下の条件を満たした場合にデータベースの設定を変更する必要があります。

  • バージョン11.x以前(5.x LTS含む)からバージョン12以降にアップデートする場合
    • バージョン12以降のソースコードを用いて新規にサーバーを建てる方は下記手順は不要です

設定手順

必ずbin/rails assets:precompileまたはdb:migrateを実行する前、つまりgit pullの直後にこれを設定してください

Mastodonのルートディレクトリ(/home/mastodon/live)に移動して、以下のコマンドを実行します。

RAILS_ENV=production bin/rails db:encryption:init

すると以下の結果が返されます。

Add this entry to the credentials of the target environment: 

active_record_encryption:
  primary_key: AAAAAAAAAAAAAAAAAAAAAA
  deterministic_key: BBBBBBBBBBBBBBBBBBBBBB
  key_derivation_salt: CCCCCCCCCCCCCCCCCCCCCC

これを.env.productionに追加します。

ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=AAAAAAAAAAAAAAAAAAAAAA
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=BBBBBBBBBBBBBBBBBBBBBB
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=CCCCCCCCCCCCCCCCCCCCCC

設定しなかった場合のエラー

設定せずにassets:precompiledb:migratesystemctl start mastodon-webなどを実行しようとした場合、以下のメッセージが出力されます。(※細かいですがdb:encryption:initを実行した時に表示される順番と異なるので注意)

bin/rails aborted!

The ActiveRecord encryption feature 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 values and then assign the environment variables.
Clone this wiki locally