Update docker.io/tootsuite/mastodon Docker tag to v4.6.0

Share
Update docker.io/tootsuite/mastodon Docker tag to v4.6.0
Photo by Rolf van Root / Unsplash

Patch update of container without any issue by means of Docker compose YAML infrastructure and automated Portainer GitOps workflow with dependency update facilitated by Mend's Renovate Bot.

This MR contains the following updates:

Package Update Change
docker.io/tootsuite/mastodon minor v4.5.11v4.6.0

Release Notes

mastodon/mastodon (docker.io/tootsuite/mastodon)

v4.6.0

Compare Source

Mastodon

For a user-focused highlight of these changes, see https://blog.joinmastodon.org/2026/06/mastodon-4.6/
For changes of particular interest to application developers, see https://blog.joinmastodon.org/2026/06/mastodon-4-6-for-devs/
For a more detailed run-down on the changes, see the Changelog section below!

Upgrade overview

This release contains upgrade notes that deviate from the norm:

:warning: The minimum supported version for Ruby has been bumped to 3.3
:warning: The minimum supported version for Node.JS has been bumped to 22
:warning: The minimum supported version for FFMpeg has been bumped to 5.1
:warning: ImageMagick support has been dropped, libvips is required
:warning: Custom themes need to be updated
ℹ️ Requires assets recompilation
ℹ️ Requires streaming server restart
ℹ️ Requires database migrations

For more information, view the complete release notes and scroll down to the upgrade instructions section.

Changelog

Added
Changed
Removed
Fixed

Upgrade notes

To get the code for v4.6.0, use git fetch && git checkout v4.6.0.

[!NOTE]
As always, make sure you have backups of the database before performing any upgrades. If you are using docker-compose, this is how a backup command might look: docker exec mastodon_db_1 pg_dump -Fc -U postgres postgres > name_of_the_backup.dump

Dependencies

External dependencies have changed since v4.5.0, with new Ruby, Node and FFMpeg version requirements.

  • Ruby: 3.3 or newer
  • PostgreSQL: 14 or newer
  • Elasticsearch (recommended, for full-text search): 7.x (OpenSearch should also work)
  • LibreTranslate (optional, for translations): 1.3.3 or newer
  • Redis: 7.0 or newer
  • Node: 22 or newer
  • libvips: 8.13 or newer
  • FFMpeg: 5.1 or newer
ImageMagick removal and libvips replacement

ImageMagick has been deprecated since Mastodon 4.4.0 and is now unsupported. If you used MASTODON_USE_LIBVIPS=false, this will be ignored and you will need to install libvips.

Theming system changes

The theming system has changed substantially, changing how light and dark themes work, as well as high-contrast. We also overhauled the whole theme to use design tokens and CSS variables.

Custom themes will most likely require significant changes to work with Mastodon 4.6.0.

If you are a theme author, please see our documentation at https://docs.joinmastodon.org/dev/frontend/theming/ and https://docs.joinmastodon.org/dev/frontend/design-tokens/

Email subscription feature and additional costs

Mastodon 4.6 introduces a new feature that lets users turn their public posts into mailing lists. This can result in an increased amount of sent emails and thus increased costs.

This feature needs to be enabled by a Mastodon user with administrator privileges, then opted-in by individual users.

In situations where the Mastodon administrators and the people hosting the server are not the same people, such as providers that offer Mastodon as a service, the system administrators may want to disable this feature. This can be done by setting the DISABLE_EMAIL_SUBSCRIPTIONS environment variable to true.

Update steps

The following instructions are for updating from 4.5.11. They also apply for migration from v4.6.0-beta.1, v4.6.0-rc.1, and v4.6.0-rc.2.

If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations. In particular, it is very important to read the 4.5.0 release notes.

Non-Docker

[!TIP]
The charlock_holmes gem may fail to build on some systems with recent versions of gcc.
If you run into this issue, try BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install.

  1. If you are using rbenv, update the list of available versions and install the proper Ruby version by doing RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install in the Mastodon install directory (e.g. /home/mastodon/live)
  2. Install dependencies with bundle install and yarn install --immutable
  3. Precompile the assets: RAILS_ENV=production bundle exec rails assets:precompile
  4. Run the pre-deployment database migrations by specifying the SKIP_POST_DEPLOYMENT_MIGRATIONS=true environment variable: SKIP_POST_DEPLOYMENT_MIGRATIONS=true RAILS_ENV=production bundle exec rails db:migrate
  5. Restart all Mastodon processes.
  6. Run the post-deployment database migrations: RAILS_ENV=production bundle exec rails db:migrate
When using Docker
  1. Run the pre-deployment database migrations by specifying the SKIP_POST_DEPLOYMENT_MIGRATIONS=true environment variable: docker-compose run --rm -e SKIP_POST_DEPLOYMENT_MIGRATIONS=true web bundle exec rails db:migrate
  2. Restart all Mastodon processes.
  3. Run the post-deployment database migrations: docker-compose run --rm web bundle exec rails db:migrate

Read more

Me on Mastodon - This link is here for verification purposes.