Mattermostの11が出てPostgreSQL 14が要求されるようになったので手順を残す

2025-10-22

概要

  • Mattermostのサーバーのバージョンが11に
  • Mattermost 11はPostgreSQL 14を最低バージョンとして要求
  • mattermost/docker.env.sampleは相変わらずバージョンタグとして13-alpineを要求
  • MattermostのPostgreSQLサーバーのアップグレードが必要
  • つまりマイグレーションも必要
  • Few minutesで終わるって言ってるけどそんなわけない

pullする前にすること

まずはバックアップ。 確実にやること。

docker exec -t $continer_id pg_dumpall -U mmuser > ${backup_file_path}.sql

停止

docker down

データディレクトリを(バックアップとして)逃がす

mv volumes/db/var/lib/postgresql/data ${somewhere_put_to_backup_dir}

.envPOSTGRES_IMAGE_TAGを編集

POSTGRES_IMAGE_TAG=15-alpine

pullしてから復元まで

pull

docker pull

docker-compose.ymlmattermostの部分をコメントアウトする。 というか、postgres以外を外す。 cp docker-compose.yml docker-compose.yml.origしてもとに戻せるようにしておくといい。

VimであればCtrl+VでVisual Blockに入り、まとめて選択してIで先頭に#をいれるのが簡単。

#  mattermost:
# ...

upする

docker compose up -d --build

PostgreSQLのデータ復元

docker exec -i $container_id psql -U mmuser -d mattermost < ${backup_file_path}.sql

パスワードの問題が出るので、ログイン

docker compose exec -it postgres psql -U mmuser -d mattermost

パスワードを設定。 パスワードは.envにあるはず。

ALTER ROLE mmuser WITH PASSWORD 'your_password';

起動

停止

docker compose down

docker-compose.ymlを戻す

mv docker-compose.yml.orig docker-compose.yml

リビルド起動

docker compose -f docker-compose.yml -f docker-compose.without-nginx.yml up -d --build