[Mastodon]CentOS7でMastodonを2.2.0 にアップデートする方法
はじめに
Mastodon 2.2.0 がリリースされましたね。
通常は、リリースノートに書いてある通りアップデートすればいいのですが、今回は Ruby を 2.5.0にバージョンアップすることが推奨とのことで手間取ったのでアップデート方法を残しておきます。
環境は、CentOS 7の Non-Docker で、rbenv で Ruby のバージョンを管理しています。メディアは Amazon S3にて保存しています。
データベースのバックアップ
なにはともあれ、データベースのバックアップを取っておきます。万が一失敗した場合に復旧する手段を残しておかないといけないですからね。
データベースのバックアップは以下のように行います。デフォルト設定でMastodonをインストールしたなら、このコマンドがそのまま使えると思います。
$ su - mastodon
$ mkdir dbbackup
$ cd dbbackup
$ pg_dump --username=postgres --no-owner mastodon_production > prefix.`date +%Y%m%d_%H%M%S`.pgdump
アップデートに失敗した場合のリストア方法は以下の記事を参考にしてください。
Ruby のバージョンアップ
通常は、rbenv で Ruby 2.5.0 がリストに表示されないでしょうから、rbenv のアップデートを行う必要があります。
rbenv のアップデートは以下のコマンドを実行するだけでよいです。
$ cd "$(rbenv root)"/plugins/ruby-build && git pull
コマンドを実行後、以下のコマンドを実行すると、Ruby 2.5.0 がリストに加えられていることが分かります。
$ rbenv install --list | grep 2.5.0
2.5.0-dev
2.5.0-preview1
2.5.0-rc1
2.5.0
rbx-2.5.0
以下のコマンドを実行し、Ruby 2.5.0 をインストールします(時間がかかります)。
$ rbenv install -v 2.5.0
現在の Ruby のバージョンを確認します。*が付いているのが現在のバージョンです。
$ rbenv versions
system
2.4.1
* 2.4.2 (set by /home/mastodon/.rbenv/version)
2.5.0
2.4.2ですね。これを2.5.0に切り替えます。
$ rbenv global 2.5.0
$ rbenv versionssystem
2.4.1
2.4.2
* 2.5.0 (set by /home/mastodon/.rbenv/version)
これで Ruby のバージョンアップは完了です。
Mastodon のアップデート
では、本丸のMastodonのアップデートを行います。まずは、以下のようにコマンドを実行して、v2.2.0 のソースコードを取得します。
$ su - mastodon #必要なら
$ cd live
$ git fetch* [new tag] v2.2.0 -> v2.2.0
From https://github.com/tootsuite/mastodon
* [new tag] v2.2.0rc1 -> v2.2.0rc1
* [new tag] v2.2.0rc2 -> v2.2.0rc2
$ git checkout v2.2.0
Ruby のバージョンを新しくしたので、bundle をインストール後に bundle install を実行します(かなり時間がかかります)。
$ gem install bundler
$ bundle install
次に以下のコマンドを実行します。
$ yarn install
これが終わったらデータベースのアップデートを行います。
$ RAILS_ENV=production bundle exec rails db:migrate
次に以下のコマンドを実行します(時間がかかります)。
$ RAILS_ENV=production bundle exec rails assets:precompile
次に以下のコマンドを実行します。
$ RAILS_ENV=production bundle exec rails mastodon:maintenance:remove_regeneration_markers
最後に Mastodon のサービスを再起動してアップデート作業は終了です。
$ sudo systemctl restart mastodon-*
おわりに
今回のアップデートはなかなか手強いですが、この記事を参考にして頑張ってください。
スポンサーリンク
Twitter ではブログにはない、いろんな情報を発信しています。
@fnyaさんをフォロー
コメント