はじめに
本記事では、AlmaLinux9.5にRocketChatを構築する手順を紹介する。CPUの問題や、DB接続エラーなど結構苦戦したので、この手順で1発で構築できるとありがたいと個人的には思います。ぜひ参考にしてみてください。
<構築イメージ>

オフライン構築なので、上記のようなイメージとなります。オンライン環境にて必要なモジュールをダウンロードし、
オフライン環境へ持ち込み。その後構築する流れです。
<バージョン選定の背景>
最新版のRocketchat、mongodb5.0でpodmanを利用してinstallしようとすると、以下のようなエラーがでる。
そのため、mongodbを4.4にして、それに対応するRocketchatのバージョンを選定WARNING: MongoDB 5.0+ requires a CPU with AVX support, and your current system does not appear to have that!
※redisはパフォーマンスの観点から追加したほうが良い。
前提
〇 バージョン情報は以下の通り
mongodb 4.4
vitualbox 7.0
Windows10 home
Almalinux 9.5
RocketChat 6.0.8
〇 VirtualBoxがインストール済みであること
〇 VirtualBox上でAlmaLinuxをインストール済みであること(AlmaLinuxは、ネットで調べてisoファイルをダウンロードし、VirtualBox上でインストールしてください)
〇 SELINUXを無効化しておくこと
〇 firewalldを無効化しておくこと。
オンライン側手順
各dockerイメージをpull
AlmaLinuxへteratermでログインし、以下のコマンドを実行する。
cd /home/user
podman pull docker.io/library/mongo:4.4
podman pull docker.io/rocketchat/rocket.chat:6.0.8
podman pull docker.io/library/redis:6
オフライン用に各dockerイメージをtarに固める
以下のコマンドを実行
podman save mongo:4.4 -o mongo_4.4.tar
podman save rocketchat/rocket.chat:6.0.8 -o rocketchat_6.0.8.tar
podman save redis:6 -o redis_6.tar
Windows側へ取得(Windowsのコマンドプロンプトで実施)
Windowsのコマンドプロンプトを起動し、以下のコマンドを実行(ユーザ名やパスは任意に変更してください)
scp user@192.168.56.10:/home/user/*.tar .\
オフライン側手順
AlmaLinux側へtarを送信
Windowsのコマンドプロンプトを起動し、以下のコマンドを実行(ユーザ名やパスは任意に変更してください)
scp *.tar user@192.168.56.20:/home/user
イメージ読み込み
AlmaLinuxへteratermでログインし、以下のコマンドを実行する。
cd /home/user
podman load -i mongo_4.4.tar
podman load -i redis_6.tar
podman load -i rocketchat_6.0.8.tar
データディレクトリの作成
以下のコマンドを実行して、データディレクトリを作成する。
mkdir -p /opt/rocketchat/data/db
mkdir -p /data/db
rocketchat用のpodを作成して、まとめて起動
以下のコマンドを実行し、1つのpodにRocketChatが必要なサービスをまとめて起動する。
# 1. Pod を作成(ポートは Pod に対して公開する)
podman pod create --name rocketchat-pod -p 3000:3000 -p 27017:27017
# 2. MongoDB コンテナを Pod に追加
podman run -d --name rocketchat-mongo --pod rocketchat-pod --shm-size=256m -v /opt/rocketchat/data/db:/data/db mongo:4.4 --replSet rs0 --oplogSize 128
# 3. Redis(必要なら)を Pod に追加
podman run -d --name rocketchat-redis --pod rocketchat-pod redis:6
# 4. Rocket.Chat コンテナを Pod に追加
podman run -d --name rocketchat --pod rocketchat-pod -e MONGO_URL="mongodb://localhost:27017/rocketchat?replicaSet=rs0" -e MONGO_OPLOG_URL="mongodb://localhost:27017/local?replicaSet=rs0" -e ROOT_URL="http://localhost:3000" -e PORT=3000 rocketchat/rocket.chat:6.0.8
mongodb初期化
mongodbが初期化されていないため、エラーが発生することがあるので、以下のコマンドを実行して明示的に初期化する。
cfg = rs.conf()
cfg.members[0].host = "localhost:27017"
rs.reconfig(cfg, { force: true })
exit
再起動
podman restart rocketchat
アクセス
少し待って以下へアクセス
http://192.168.56.20:3000
※初期設定を適当に終わらせると、利用できるようになります。

以上。
コメント