マストドンサーバのアップデートと全文検索(→Ver4.2)
個人マストドンサーバのアップデートを行いました。
技術的にどうこう言えるようなスキルはないですし、やり方も他のサイトにあった手順そのままなんですが、マストドンに関する日本語のドキュメントは異常に少なく、必要な情報にたどり着くのに非常に面倒なので、ここにも書いておきます。ついでに Erasticsearchの導入による全文検索もできるようにしました。
今回の環境は、Ubuntu 22.04.3 LTS,非Docker,Ver4.1.4→4.2です。
Mastodonのアップデート
- VPSであればリカバリ用スナップショットを取得しておく
- 一旦マストドンサーバを停止する
これはお使いのサービスの手順に従ってください。
下記コマンドにて3つのサービスを停止します。
systemctl stop mastodon-web mastodon-sidekiq mastodon-streaming.service
下記コマンドにてマストドンのメンテナンスユーザーになってください
su - mastodon
一部のサイトで紹介されているマストドン構築手順では、ユーザ mastodonのパスワードを設定していなかったり、ログインシェルが nologin になっていることがありますが、mastodonユーザで作業が必要ですので、一時的でもいいのでユーザ情報を修正して、ログインできるようにしてから行ってください。
下記コマンドにてマストドンのディレクトリに移動してください。環境により場所はことなりますが、AUTHORS.md のある場所に移動すればいいです。
cd /var/www/mastodon/
下記コマンドにて実行します。結果として、現在取得できるバージョンの一覧的な文字列がずらずらと返ってくればOKです。
git fetch origin
下記コマンドにてダウンロードします。今回は Ver4.2です
git checkout v4.2
下記コマンドにて行います。今回、これに30分以上かかりました。
bundle install
下記コマンドにて行います。これはすぐ終わります
yarn install
下記コマンドにて行います。今回はマイグレーション不要だったので、「必要ないですよ」的なメッセージが出ただけでした。
RAILS_ENV=production bundle exec rake db:migrate
下記コマンドにて行います。今回15分くらいかかりました。
RAILS_ENV=production bundle exec rake assets:precompile
下記コマンドにて3つのサービスを再開します。
systemctl start mastodon-web mastodon-sidekiq mastodon-streaming.service
下記コマンドにて3つのサービスの稼働を確認します。
systemctl status mastodon-web mastodon-sidekiq mastodon-streaming.service
あとはWEB画面が見られることを確認すればOKです。サーバのメイン画面の右下に、現在のバージョンが表示されます。
Elastic searchのインストールとマストドンでの有効化
構築方法に関してはこちらのサイトに譲ります。
https://mastodon-docs.vercel.app/admin/optional/elasticsearch/
検索窓にこのようなオプションが表示されるようになればOKです。
自分以外のユーザーも検索できるようにするためには、ここで検索を有効にしましょう。
しかし ElasticSearch まで入れるとサーバ資源を喰いますね……メモリ2GBのVPSではキツイかも。