僕が建てているMastodonではサーバーOSにArch Linuxを使っているんですが、ちょっとアップデートしたらボロカスになったので修正しました。
問題は2つあり、
1. sudo pacman -Syu
したらローカルに突っ込んでるNative Extensionsと合わなくなった
2. PostgreSQLのバージョンアップの作業をサボっていた
これでした。アップグレードを雑にやると良くないなとしみじみ感じました。以後気を付けます。
それぞれ解決して無事に復活したのでメモ程度に残しておきます。
打ったコマンドまとめ
$ sudo pacman -Syu $ cd ~/live $ git fetch --tags $ git checkout $(git tag -l | grep -v 'rc[0-9]*$' | sort -V | tail -n 1) $ sudo reboot ここでmastodon-web.serviceが無限に落ちまくる $ sudo systemctl status mastodon-web.service $ sudo journalctl -b | less $ gem install bundler -v 1.17.3 $ RAILS_ENV=production bundle install $ yarn install $ RAILS_ENV=production bundle exec rails db:migrate ここでmigrate失敗、charlock_holmesというgemが見つからないというエラーが出る $ bundle pristine <- 1番が解決 $ RAILS_ENV=production bundle exec rails db:migrate ここでPostgreSQLが動いてないよーみたいなエラーが出たのでデータベースのアップグレード $ sudo systemctl status postgresql.service $ sudo pacman -S postgresql-old-upgrade $ sudo systemctl stop postgresql.service $ sudo mv /var/lib/postgres/data /var/lib/postgres/olddata $ mkdir /var/lib/postgres/data /var/lib/postgres/tmp $ sudo chown postgres:postgres /var/lib/postgres/data /var/lib/postgres/tmp $ sudo su postgres [postgres]$ initdb --locale ja_JP.UTF-8 -E UTF8 -D '/var/lib/postgres/data' [postgres]$ cd /var/lib/postgres/tmp [postgres]$ pg_upgrade -b /opt/pgsql-11/bin -B /usr/bin -d /var/lib/postgres/olddata -D /var/lib/postgres/data [postgres]$ exit $ sudo reboot <- 2番が解決 $ cd ~/live $ RAILS_ENV=production bin/tootctl cache clear $ sudo rm -rf /var/lib/postgres/olddata /var/lib/postgres/tmp