*✩.˚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 リファレンス
を参考に調べまくりんぐ!