2021-05-06 /
@syui
heroku
mastodon v3.3.0をstack:heroku-20に対応する方法
stack:heroku-20でmastodon v3.3.0に対応する方法です。
libvpx5
以下のエラーが出てしまいますが、これは、heroku-20で使用されるubuntu 20.04がlibvpx6を使用するのに対し、mastodonはlibvpx5を使用するためだと思われます。
remote: E: Unable to locate package libvpx5
したがって、mastodon/Aptfile
を書き換えます。
- libvpx5
+ libvpx[5-9]
追記:zundaさんがpull-reqされていました。
https://github.com/tootsuite/mastodon/pull/15591
ruby v2.7.3
heroku-20は、最も古いのがruby v2.5.9です。したがって、Gemfile.lockを変更する必要があります。
https://devcenter.heroku.com/articles/ruby-support
$ cd ./mastodon
$ yay -S rbenv ruby-build
$ rbenv init
$ rbenv install 2.7.3
$ rbenv local 2.7.3
$ gem i bundler
$ bundle
# git push -f heroku main
$ git push -f heroku master
bundleを実行するのは何でもいいですけど、archで実行後にGemfile.lockをcpしてgit-pushしました。
mastodon v3.3.0
SKIP_POST_DEPLOYMENT_MIGRATIONS=true
は特殊だけど、他はいつも通りのコマンド。
$ heroku run RAILS_ENV=production bin/tootctl cache clear
$ heroku run SKIP_POST_DEPLOYMENT_MIGRATIONS=true RAILS_ENV=production bundle exec rails db:migrate
$ heroku run RAILS_ENV=production bundle exec rails assets:precompile
https://github.com/tootsuite/mastodon/releases/tag/v3.3.0