Rocket.Chat をアップグレードしたら、MongoDB をアップグレードするように警告が表示されるようになったので、MongoDB もアップグレードしました。
アップグレードについては、以下の記事が参考になりました。
環境
アップグレード前
- Rocket.Chat 3.10.4
- MongoDB 4.0.22
アップグレード後
- Rocket.Chat 4.0.3
- MongoDB 5.0.3
やったこと
Rocket.Chat を 4.0.3 にアップグレード
3.10.4 から 4.0.3 へのアップグレードはバージョンを変更するだけでいけました。
- docker コンテナ停止
docker-compose.yml
の Rocket.Chat のバージョンを 4.0.3 に変更- docker コンテナ起動
この時点で Rocket.Chat 4.0.3、MongoDB 4.0.22 の組み合わせとなりましたが、以下のメッセージが表示されるようになりました。
rocketchat_1 | +----------------------------------------------+
rocketchat_1 | | SERVER RUNNING |
rocketchat_1 | +----------------------------------------------+
rocketchat_1 | | |
rocketchat_1 | | Rocket.Chat Version: 4.0.3 |
rocketchat_1 | | NodeJS Version: 12.22.1 - x64 |
rocketchat_1 | | MongoDB Version: 4.0.27 |
rocketchat_1 | | MongoDB Engine: wiredTiger |
rocketchat_1 | | Platform: linux |
rocketchat_1 | | Process Port: 3000 |
rocketchat_1 | | Site URL: http://localhost:3000 |
rocketchat_1 | | ReplicaSet OpLog: Enabled |
rocketchat_1 | | Commit Hash: 6e49fc9466 |
rocketchat_1 | | Commit Branch: HEAD |
rocketchat_1 | | |
rocketchat_1 | +----------------------------------------------+
rocketchat_1 | +----------------------------------------------------------------------+
rocketchat_1 | | DEPRECATION |
rocketchat_1 | +----------------------------------------------------------------------+
rocketchat_1 | | |
rocketchat_1 | | YOUR CURRENT MONGODB VERSION (4.0.22) IS DEPRECATED. |
rocketchat_1 | | IT WILL NOT BE SUPPORTED ON ROCKET.CHAT VERSION 5.0.0 AND GREATER, |
rocketchat_1 | | PLEASE UPGRADE MONGODB TO VERSION 4.2 OR GREATER |
rocketchat_1 | | |
rocketchat_1 | +----------------------------------------------------------------------+
MongoDB version 4.0.22 is deprecated, please upgrade your installation.
MongoDB 4.0 は非推奨なので、4.2 以上へアップグレードするよう促されます。
なので、ついでに最新の 5.0 までアップグレードします。
MongoDB を 4.2 にアップグレード
4.0 から 4.2 へのアップグレードは docker-compose.yml
を修正して再起動するだけでいけました。
- docker コンテナ停止
docker-compose.yml
の MongoDB のバージョンを 4.0 に変更- docker コンテナ起動
MongoDB を 4.4 にアップグレード
4.2 から 4.4 へのアップグレードは docker-compose.yml
を修正して再起動するだけではだめでした。
先に以下のコマンドを実行する必要があります。
$ docker exec mongo bash -c 'mongo --eval "db.adminCommand( { setFeatureCompatibilityVersion: \"4.2\" } )"'`
流れとしては以下です。
- 上記のコマンドを実行
- docker コンテナ停止
docker-compose.yml
の MongoDB のバージョンを 4.4 に変更- docker コンテナ起動
MongoDB を 5.0 にアップグレード
先ほどと同じです。
上記のコマンドのバージョンを 4.4 に変更して実行します
$ docker exec mongo bash -c 'mongo --eval "db.adminCommand( { setFeatureCompatibilityVersion: \"4.4\" } )"'`
流れとしては以下です。
- 上記のコマンドを実行
- docker コンテナ停止
docker-compose.yml
の MongoDB のバージョンを 5.0 に変更- docker コンテナ起動