Mastodon を v1.2.2 から v2.0.0 にアップデートしてみたよ

勢いで立ち上げてから約半年放置気味だったヨミドンを、ふと思い立ってアップデートすることにしました。

きっかけとなったのはこの記事です。

マストドン、2.0.0正式版に キーボード操作がはかどる – ITmedia NEWS

バージョン2.0.0ではインスタンスごとのカスタム絵文字対応など絵文字関連の大幅な機能向上があるほか、複数のインスタンステーマ、ID生成へのSnowflakeアルゴリズム採用、添付メディアの代替テキスト、公開ハッシュタグタイムラインの改良、悪質メールアドレス排除管理の改善などが実装されている。

だそうです。ちなみに、立ち上げ当初のヨミドンはバージョンv1.2.2でした。

以下手順。

まず、作業ディレクトリに移動して、

$ cd mastodon

リモートのリポジトリをローカルに反映します。

$ git fetch

変更のあるファイルを退避します。

$ git stash
$ git stash list

最新版にアップデート。

$ git tag
v0.1.0
:
v1.2.2
:
v1.6.1
v2.0.0
v2.0.0rc1
v2.0.0rc2
v2.0.0rc3
v2.0.0rc4
:
$ git checkout v2.0.0

退避したファイルを復帰させてコンフリクトを修正します。

$ git stash pop stash@{0}
Auto-merging docker-compose.yml
Auto-merging config/settings.yml
CONFLICT (content): Merge conflict in config/settings.yml
:

Docker コンテナを更新します。

$ sudo docker-compose pull

Docker のビルド。

$ sudo docker-compose build
$ sudo docker-compose stop

DBのマイグレーション。

$ sudo docker-compose run --rm web rails mastodon:maintenance:prepare_for_foreign_keys
$ sudo docker-compose run --rm web rails db:migrate

プリコンパイル。

$ sudo docker-compose run --rm web rails assets:precompile

再起動。

$ sudo docker-compose up -d
$ sudo systemctl restart nginx

以上。

さて、マストドンを立ち上げて半年、改めて何に使えるか考えてみよう。

Mastodon for Yomitan Okinawa ヨミドン

エラーとその対処

$ sudo docker-compose pull

で、

ERROR: Version in "./docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a version of "2" (or "2.0") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/

のエラーが出たら、docker-compose.yml 内の version ‘3’をversion ‘2’に修正して、再度

$ sudo docker-compose pull

でOK。

$ sudo docker-compose build

で、

ERROR: Service 'streaming' failed to build: The command '/bin/sh -c bundle config build.nokogiri --with-iconv-lib=/usr/local/lib --with-iconv-include=/usr/local/include && bundle install -j$(getconf _NPROCESSORS_ONLN) --deployment --without test development && yarn --pure-lockfile && yarn cache clean' returned a non-zero code: 5

のエラーが出たら、ビルドをもう一回試す。

$ sudo docker-compose build
:
Successfully built f05dbc207e99

で、OK。

$ sudo docker-compose run –rm web rails assets:precompile

で、

Using /mastodon/config/webpacker.yml file for setting up webpack paths
Compiling…
Compilation failed:

というメッセージが出て止まった場合は、メモリが足りないらしいので(今使っている環境は512MB)、swapfileを2GBにして対応しました。

$ sudo swapoff /swapfile
$ sudo fallocate -l 2G /swapfile
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile

アップデート後、画像アップロードで 500Internal Server Error

$ sudo chown -R 991:991 public/system

でOK。

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です