アップデートに伴う設定変更 - kmycode/mastodon GitHub Wiki
Ver.12以降へのアップデート
行う設定は「データベース設定」「ElasticSearch設定」の2種類があります。
ElasticSearchを使っていない人は後者は不要です
データベースの設定
すべてのサーバーが データベースの設定を更新する必要があります。
ただしバージョン12以降のソースコードを用いて新規にサーバーを建てる方は、初期設定の時にキーが自動生成されますので作業不要です。
設定手順
必ずbin/rails assets:precompile
またはdb:migrate
を実行する前にこれを設定してください
Mastodonのルートディレクトリ(/home/mastodon/live
)に移動して、以下のコマンドを実行します。
RAILS_ENV=production bin/rails db:encryption:init
すると以下の結果が返されます。
# バージョン12の表示
Add this entry to the credentials of the target environment:
active_record_encryption:
primary_key: CCCCCCCCCCCCCCCCCCCCCC
deterministic_key: AAAAAAAAAAAAAAAAAAAAAA
key_derivation_salt: BBBBBBBBBBBBBBBBBBBBBB
# バージョン13以降の表示
Add these environment variables to your Mastodon environment:
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=AAAAAAAAAAAAAAAAAAAAAA
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=BBBBBBBBBBBBBBBBBBBBBB
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=CCCCCCCCCCCCCCCCCCCCCC
これを.env.production
に追加します。
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=AAAAAAAAAAAAAAAAAAAAAA
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=BBBBBBBBBBBBBBBBBBBBBB
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=CCCCCCCCCCCCCCCCCCCCCC
動作確認
RAILS_ENV=production bin/rails db:migrate
sudo systemctl start mastodon-web
journalctl -r -u mastodon-web
設定しなかった場合のエラー
設定せずにassets:precompile
、db:migrate
、systemctl 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を使わない場合
# コマンド実行の必要なし