へっぽこプログラマーの備忘録
プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。
menu
keyboard_arrow_up
Top
search
close
home
ホーム
computer
PC一般
construction
開発環境・ツール
code
プログラミング
home
ホーム
computer
PC一般
construction
開発環境・ツール
code
プログラミング
Home
›
rocketchat
›
Rocket.Chat のアップグレード手順
2023/10/11
Rocket.Chat のアップグレード手順
update
event_note
label
MongoDB
label
rocketchat
アップグレード手順については以下に記載されています。
- https://docs.rocket.chat/deploy/deploy-rocket.chat/updating-rocket.chat アップグレードのフローが以下になります。 - https://whimsical.com/upgrade-version-path-rocket-chat-51eoS7aUunTan5wLt2CBHU これに従ってアップデートしますが、いくつかはまったポイントがありました。 ## 環境 アップグレード前のバージョンは以下です。 - Rocket.Chat Version: 3.10.4 - NodeJS Version: 12.18.4 - x64 - MongoDB Version: 4.0.28 - MongoDB Engine: wiredTiger - Platform: linux Rocket.Chat も MongoDB も docker で動かしています。 ## Rocket.Chat 3.18.7 へのアップグレード 現在のバージョンが 3.10.4 なので、3系の最新の 3.18.7 にアップグレードしました。 すると、データベースバージョンのエラーが表示されたました。 ```sh +----------------------------------------------------------------------+ | | | ERROR! SERVER STOPPED | | | | Your database migration failed: | | Start date cannot be later than expire date | | | | Please make sure you are running the latest version and try again. | | If the problem persists, please contact support. | | | | This Rocket.Chat version: 3.18.7 | | Database locked at version: 213 | | Database target version: 232 | | | | Commit: 660c9f5e896982932e1d02d35ddd6013c6b03e11 | | Date: Mon May 30 19:06:57 2022 -0300 | | Branch: HEAD | | Tag: 3.18.7 | | | +----------------------------------------------------------------------+ ``` 対策は以下に書いてありました。 - https://martinschoeler.github.io/docs/administrator-guides/database-migration/ MongoDB のコンテナに入り、以下のコマンドを実行してバージョンを強制的に一つ上げます。 ``` # mongo > use rocketchat > db.migrations.update({_id: 'control'},{$set:{locked:false,version:231}}) ``` これで Rocket.Chat を再起動すれば OK でした。 ## Rocket.Chat 3.18.7 から 4.8.7 へのアップグレード 次に4系の最新の 4.8.7 にアップグレードしました。 これはすんなりいきました。 ## MongoDB のアップグレード 上記のフローによれば、Rocket.Chat を5系にアップグレードする前に、MongoDB を 5.0 以上までアップグレードする必要があります。 方法については以下に記載されています。 - https://docs.growi.org/ja/admin-guide/admin-cookbook/upgrade-mongodb.html ### MongoDB 4.0 から 4.2 へのアップグレード 現在のバージョンが 4.0 なので、まずは 4.2 にアップグレードしました。 これはすんなりいきました。 ### MongoDB 4.2 から 4.4 へのアップグレード 次に 4.4 にアップグレードしたところ、以下のようなエラーとなりました。 ``` {"t":{"$date":"2023-10-13T00:38:13.842+00:00"},"s":"W", "c":"STORAGE", "id":22347, "ctx":"initandlisten","msg":"Failed to start up WiredTiger under any compatibility version. This may be due to an unsupported upgrade or downgrade."} {"t":{"$date":"2023-10-13T00:38:13.842+00:00"},"s":"F", "c":"STORAGE", "id":28595, "ctx":"initandlisten","msg":"Terminating.","attr":{"reason":"95: Operation not supported"}} {"t":{"$date":"2023-10-13T00:38:13.842+00:00"},"s":"F", "c":"-", "id":23091, "ctx":"initandlisten","msg":"Fatal assertion","attr":{"msgid":28595,"file":"src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp","line":958}} {"t":{"$date":"2023-10-13T00:38:13.843+00:00"},"s":"F", "c":"-", "id":23092, "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"} ``` MongoDB を 4.2 に戻してコンテナに入り、以下のコマンドを実行します。 ``` # mongo > db.adminCommand( { setFeatureCompatibilityVersion: "4.2" } ) ``` これで Rocket.Chat を再起動すれば OK でした。 ### MongoDB 4.4 から 5.0 へのアップグレード 次に 5.0 にアップグレードしたところ、同様のエラーとなりました。 MongoDB を 4.4 に戻してコンテナに入り、以下のコマンドを実行します。 ``` # mongo > db.adminCommand( { setFeatureCompatibilityVersion: "4.4" } ) ``` これで Rocket.Chat を再起動すれば OK でした。 ## Rocket.Chat 4.8.7 から 5.4.10 へのアップグレード MongoDB を 5.0 までアップグレードしたので、次は Rocket.Chat を5系の最新の 5.4.10 にアップグレードしました。 すると以下のエラーが表示されました。 ``` /app/bundle/programs/server/node_modules/fibers/future.js:313 throw(ex); ^ MongoServerSelectionError: connect ECONNREFUSED 127.0.0.1:27017 at Timeout._onTimeout (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/sdam/topology.js:312:38) at listOnTimeout (internal/timers.js:557:17) at processTimers (internal/timers.js:500:7) { reason: TopologyDescription { type: 'ReplicaSetNoPrimary', servers: Map(1) { 'localhost:27017' => ServerDescription { _hostAddress: HostAddress { isIPv6: false, host: 'localhost', port: 27017 }, address: 'localhost:27017', type: 'Unknown', hosts: [], passives: [], arbiters: [], tags: {}, minWireVersion: 0, maxWireVersion: 0, roundTripTime: -1, lastUpdateTime: 17764280, lastWriteDate: 0, error: MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017 at connectionFailureError (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/cmap/connect.js:381:20) at Socket.
(/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/cmap/connect.js:301:22) at Object.onceWrapper (events.js:520:26) at Socket.emit (events.js:400:28) at emitErrorNT (internal/streams/destroy.js:106:8) at emitErrorCloseNT (internal/streams/destroy.js:74:3) at processTicksAndRejections (internal/process/task_queues.js:82:21) } }, stale: false, compatible: true, heartbeatFrequencyMS: 10000, localThresholdMS: 15, setName: 'rs0', maxSetVersion: 2, maxElectionId: ObjectId { [Symbol(id)]: Buffer(12) [Uint8Array] [ 127, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 10 ] }, commonWireVersion: 13, logicalSessionTimeoutMinutes: undefined } } ``` 解決策は以下にありました。 - https://github.com/RocketChat/Rocket.Chat/releases/tag/5.0.0 環境変数 `MONGO_URL` `MONGO_OPLOG_URL` に `directConnection=true` を追加します。 例えば、`MONGO_URL=mongodb://mongo/rocketchat?replicaSet=rs0&directConnection=true` のような感じです。 これで Rocket.Chat を再起動すれば OK でした。 ## Rocket.Chat を最新にアップデート 最後に、Rocket.Chat を現在の最新バージョンである 6.3.9 にアップグレードしました。 以上で完了です。
## 参考 URL
tweet
facebook
Pocket
B!
はてブ
LINE
chevron_left
chevron_right
Translate
Popular Posts
Labels
.NET Core
31
.NET Framework
17
.NET Standard
2
AdminLTE
1
AI
1
Apache
3
AppVeyor
2
AsciiDoc
7
ASP.NET Core
55
Atom
4
AWS
5
AWS Cloud9
4
blockdiag
1
Blogger
13
Bootstrap
3
C/C++
6
C#
106
CentOS
3
Chrome
1
Chronograf
3
chrony
1
Codecov
1
CSS
1
Docker
82
DokuWiki
4
Doxygen
1
draw.io
1
EasyTag
1
Electron
1
Electron.NET
2
Entity Framework Core
9
Excel
2
FFmpeg
3
Firefox
6
Flask
1
Git
19
GitBook
4
GitBucket
7
GitHub
7
GitLab
39
Go
1
Google
1
Google Cloud Platform
1
Grafana
13
GStreamer
2
HTML
5
IIS
8
InfluxDB
14
JavaScript
15
Jekyll
4
Jenkins
7
Linux
34
Log4View
1
MahApps.Metro
3
MaterialDesignInXamlToolkit
1
MkDocs
2
MongoDB
5
MVC
1
MVVM
6
nginx
3
NLog
3
Node.js
8
npm
1
NVIDIA
3
onvif
1
OpenAPI
2
OpenCV
4
OpenSSL
3
OpenVINO
2
ownCloud
2
pandas
1
Pine Script
1
PlantUML
5
Portainer
3
PowerShell
8
Prism
2
PySide
19
Python
88
PyTorch
1
RabbitVCS
1
Razor
3
redis
1
Redmine
33
Redoc
1
remark.js
2
rocketchat
10
Ruby
3
scikit-learn
1
shotcut
1
SignalR
1
Slack
1
Socket.IO
1
SonarQube
5
Sphinx
10
SQL Server
5
SQLite
1
StableDiffusion
2
Subversion
2
Swagger
1
Swarmpit
1
Syslog
3
Telegraf
6
Tesseract
3
TestLink
2
Tomcat
2
TortoiseGit
11
TortoiseSVN
2
Trading View
1
Traefik
3
Travis CI
1
Ubuntu
31
Visual Studio
39
Visual Studio Code
10
VSCode
8
Vue.js
8
Windows
62
Windows 10
5
Windows ADK
1
Windows API
2
Windows Embedded
4
wkhtmltopdf
2
Word
3
WPF
12
WSL
5
WSL2
5
Xamarin
1
xUnit
5
yaml
1
yolo
1
アプリケーション
1
デザインパターン
1
テスト
1
バッチファイル
2
プログラミング
4
ライセンス
1
暗号資産(仮想通貨)
1
英語
2
確定申告
1
機械学習
1
強化学習
1
雑記
1
書籍
1
数学
1
正規表現
1
動画編集
1
Blog Archive
►
2025
(1)
►
3月
(1)
►
2024
(21)
►
12月
(3)
►
9月
(5)
►
8月
(1)
►
7月
(2)
►
6月
(1)
►
4月
(2)
►
3月
(1)
►
2月
(5)
►
1月
(1)
▼
2023
(30)
►
12月
(3)
►
11月
(5)
▼
10月
(2)
Rocket.Chat 移行後にアップロードファイルの URL が古いままになっている
Rocket.Chat のアップグレード手順
►
9月
(1)
►
8月
(2)
►
7月
(4)
►
6月
(2)
►
5月
(3)
►
4月
(2)
►
3月
(2)
►
2月
(3)
►
1月
(1)
►
2022
(106)
►
12月
(5)
►
11月
(1)
►
10月
(3)
►
9月
(6)
►
8月
(7)
►
7月
(6)
►
6月
(13)
►
5月
(9)
►
4月
(15)
►
3月
(11)
►
2月
(14)
►
1月
(16)
►
2021
(85)
►
12月
(11)
►
11月
(6)
►
10月
(4)
►
9月
(10)
►
8月
(8)
►
7月
(4)
►
6月
(18)
►
5月
(7)
►
4月
(8)
►
3月
(2)
►
2月
(2)
►
1月
(5)
►
2020
(56)
►
12月
(1)
►
11月
(3)
►
10月
(3)
►
9月
(3)
►
8月
(3)
►
7月
(7)
►
6月
(7)
►
5月
(2)
►
4月
(6)
►
3月
(6)
►
2月
(3)
►
1月
(12)
►
2019
(92)
►
12月
(13)
►
11月
(9)
►
10月
(3)
►
9月
(2)
►
8月
(3)
►
7月
(5)
►
6月
(11)
►
5月
(6)
►
4月
(17)
►
3月
(9)
►
2月
(6)
►
1月
(8)
►
2018
(100)
►
12月
(1)
►
11月
(11)
►
10月
(8)
►
9月
(6)
►
8月
(10)
►
7月
(10)
►
6月
(8)
►
5月
(9)
►
4月
(8)
►
3月
(14)
►
2月
(4)
►
1月
(11)
►
2017
(117)
►
12月
(14)
►
11月
(20)
►
10月
(17)
►
9月
(19)
►
8月
(10)
►
7月
(8)
►
6月
(3)
►
5月
(6)
►
4月
(5)
►
3月
(2)
►
2月
(8)
►
1月
(5)
►
2016
(91)
►
12月
(5)
►
11月
(9)
►
10月
(11)
►
9月
(9)
►
8月
(6)
►
7月
(14)
►
6月
(14)
►
5月
(11)
►
4月
(10)
►
3月
(2)
►
2015
(23)
►
12月
(4)
►
11月
(2)
►
10月
(8)
►
9月
(8)
►
7月
(1)
►
2013
(3)
►
11月
(1)
►
9月
(1)
►
7月
(1)
►
2012
(2)
►
7月
(1)
►
6月
(1)
►
2011
(1)
►
9月
(1)
►
2009
(1)
►
7月
(1)
►
2008
(2)
►
11月
(1)
►
7月
(1)
►
2007
(3)
►
10月
(3)