LoginSignup
6
3

More than 3 years have passed since last update.

非エンジニアの俺がMastodonサーバを保守したら2年たって、アップデートのやり方が固まってきたんだがメモ

Last updated at Posted at 2020-12-14

✩.*˚fediverse advent calendar 11日目の記事だよ

わたくしのMastodonサーバ

ドン・ゴロツキと申します。

  • 全登録者:64人とかそれくらい
  • アクティブ人数/週:40人くらい※ちょっと基準よくわかんない
  • 招待制(adminのみ招待可能)
  • 月3500円くらいの費用
  • 精鋭エンジニアさんにお手伝いいただいて構築した経緯あり(詳細)

☆アップデートのタイミング

  • Master?なにそれ美味しいの
  • 「タグ付き最新版が出たよ~」とMastodon公式さんがトゥートしたら渋々アップデートする
  • とはいえ「一度最新のタグ付きでなくなったら、もう追いかけられなくなって詰む…!!!」という恐怖があるため、割と早めに最新にする傾向がある※私はとてもビビリな性格です

☆アップデート前の確認

  • リリースノートをざっと読む
    • 「よくわからんけど…なんかこう…修正が中心やな…」くらいの雑な解像度
    • 私はDockerを使っていないので、Non-Dockerって書いてあるところはしっかり読んでおく。イレギュラーな作業が入ってるときが結構ある
    • 最新タグ付きのリリースノート(2020/12/12時点)は下記。末尾のver番号を、該当の数字に書き換えればそれでもOK。

https://github.com/tootsuite/mastodon/releases/tag/v3.2.1

  • アップデート方法のおさらい
    • Mastodon公式サイトの、アプデ方法ページをチェックする。たまに変わってるときがある。

アップデート手順(ざっくり)

1.一時swapを上乗せする(アプデの時のみ)

sudo fallocate -l 1G /swap
sudo mkswap /swap
sudo swapon /swap
free -h

止める
sudo swapoff /swap

削除
sudo rm /swap

確認
free -h

2.ポスグレの最新バックアップを作る

  • ポスグレアカウントに入って、バックアップを吐き出す
    sudo su - postgres
    pg_dumpall > 2021021-3.2.1.dumpall

    ※バージョンと日付を書き換えていく

  • ポスグレの古いのを消す
    rm /var/lib/postgresql/2020808-3.2.0.dumpall
    ※これがたまるとサーバ容量を圧迫してくるため毎回消す

    3.アップデートする

  • mastodonアカウントログイン
    sudo su - mastodon
    cd live

  • バージョンチェック(最初のほう)
    cat lib/mastodon/version.rb

  • バージョンアップ本番
    git fetch --tags
    git checkout v3.1.諸々

  • バージョンチェック再度(新しくなっているか)
    cat lib/mastodon/version.rb

4.bundle installする

RAILS_ENV=production bundle install --deployment --without development test
RAILS_ENV=production yarn install

5.migrateする

RAILS_ENV=production bundle exec rails db:migrate

6.precompileする 

RAILS_ENV=production bundle exec rails assets:precompile
※しなくていいときもありそうだけど毎回しちゃっている

7.mastodonを再起動させる

  • mastodonアカウントを抜ける

exit

  • 諸々再起動する

sudo systemctl restart mastodon-sidekiq
sudo systemctl reload mastodon-web

8.本番みて、ソースコードが最新か確認。

その他おぼえがき

①yarnが古いと言われたら

sudo apt install yarn

②Ruby verアップ

$ cd "$(rbenv root)"/plugins/ruby-build && git pull
$ rbenv install 新ばーじょんの番号
例)$ rbenv install 2.6.6.

③マメに更新必須!

sudo apt update
sudo apt upgrade

④勝手 Mastodon tootctl リファレンス は神!!

なにかあったら、くますんさん作成の
勝手 Mastodon tootctl リファレンス
を参考に調べまくりんぐ!

Special Thanks

のえるさん
わんせたくん
まめもさん

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3