forked from mastodon/mastodon
-
-
Notifications
You must be signed in to change notification settings - Fork 8
アップデートに伴う設定変更
KMY(雪あすか) edited this page Apr 22, 2024
·
9 revisions
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: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.
バージョン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を使わない場合
# コマンド実行の必要なし