The Mastodon documentation contains an excellent overview of the upgrade process. Based on that, you can come up with the list of commands necessary to carry out an upgrade.
Don't forget to back-up before going any further.
The upgrade process described bellow will result in instance downtime. If others are also using it, make sure to make them aware that the app will be temporarily unavailable.
Upgrading to Mastodon 4.2
Connect to your server using SSH
Our first step is to shut down the currently running instance.
systemctl stop mastodon-*
Then, we switch to the default mastodon user and navigate to mastodon root directory (the
su - mastodon -s /bin/bash cd ~/live
Install the new version
First, we need to download the new version and make sure the correct local Ruby version is installed. In this case, that's
3.2.2 and we're using
git fetch git checkout v4.2.0 rbenv install $(cat .ruby-version) --verbose
Let's upgrade Mastodon
bundle install RAILS_ENV=production bundle exec rails db:migrate rm -rf node_modules && yarn install yarn build:production RAILS_ENV=production bundle exec rails assets:precompile
Starting the updated instance
Finally, we need to start all Mastodon services. Use the
exit command to exit the
mastodon user session and go back to the system user. Then run the following:
sudo systemctl restart mastodon-sidekiq.service sudo systemctl restart mastodon-web.service sudo systemctl restart mastodon-streaming.service
And voilà 🎉! You should be able to access your instance.