Skip to content

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

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

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

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

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

行う設定は「データベース設定」「ElasticSearch設定」の2種類がありますが、ElasticSearchを使っていない人、または一部の英語圏の方、プラグインを使わない方などは後者は不要です

データベースの設定

設定手順

必ずbin/rails assets:precompileまたはdb:migrateを実行する前にこれを設定してください

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

動作確認

RAILS_ENV=production bin/rails db:migrate

sudo systemctl start mastodon-web
journalctl -r -u mastodon-web

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

設定せずに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.

ElasticSearch設定

バージョン11以前でElasticSearchによる全文検索を実装していた方は、以下を実行してください。詳細:ElasticSearch設定方法

# Sudachiを用いた日本語検索を設定変更なしで継続する場合
ln -s config/elasticsearch.default-ja-sudachi.yml .elasticsearch.yml

# Sudachiを用いた日本語検索を微量の設定変更したうえで継続する場合
cp config/elasticsearch.default-ja-sudachi.yml .elasticsearch.yml

# 本家Mastodonのデフォルト設定をもとに自分でカスタマイズする場合(Kuromoji使用時など)
cp config/elasticsearch.default.yml .elasticsearch.yml

# 本家Mastodonのデフォルト設定をそのまま使用する場合、もしくはElasticSearchを使わない場合
# コマンド実行の必要なし
Clone this wiki locally