Updating a Dockerised Mastodon instance

1. Pull changes from upstream, including release tags

$ git fetch --tags upstream

2. Stash any current changes

$ git stash

3. Checkout the new tag into a new, tagged branch

Replace x.x.x with whatever release you are pulling.

$ git checkout tags/vx.x.x -b vx.x.x

4. Restore your stashed changes

$ git stash pop

5. Modify your docker-compose to include the new release version

Replace x.x.x with the release you are using.

image: tootsuite/mastodon:vx.x.x

6. Cherry pick the commits that have any modifications you require

$ git cherry-pick <short commit ID>

7. Build any containers that require building

$ docker-compose build

8. Start your containers, clear your cache and run any migration commands

$ docker-compose up -d
$ docker-compose run --rm web bin/tootctl cache clear
$ docker-compose run --rm web rails db:migrate

Related Articles