GPT-4oが話題のこのタイミングで、ようやく今まで社内用にインストールしていたBetterChatGPTからLibreChatに乗り換えようと重い腰を上げました。インストールまではうまくいきましたが、mongoDBがエラーを吐き続ける状況になったので、解決方法を載せておきます。
環境
- Windows10
結論:解決方法
docker-compose.ymlを一部変更する必要があります。
2か所mongodb内のvolumes と 最後のvolumesを書き換えました。
services:
# ~中略~
mongodb:
container_name: chat-mongodb
image: mongo
restart: always
user: "${UID}:${GID}"
volumes:
# - ./data-node:/data/db
- mongodata:/data/db # ★ここを追加
command: mongod --noauth
meilisearch:
container_name: chat-meilisearch
image: getmeili/meilisearch:v1.7.3
restart: always
user: "${UID}:${GID}"
environment:
- MEILI_HOST=http://meilisearch:7700
- MEILI_NO_ANALYTICS=true
# ~中略~
volumes:
pgdata2:
mongodata: # ★ここを追加
インストール
インストールは公式ドキュメントに従ってインストールしました。
起動~終了
初回起動は問題なくログイン画面まで表示されます。
ここで、.envをいじるため、コンテナを停止しました。
再起動~エラー
再起動すると「chat-mongodb」がエラー吐いて再起動を繰り返していました。
エラー内容は以下のようなもの
{"t":{"$date":""},"s":"E", "c":"WT", "id":22435, "ctx":"initandlisten","msg":"WiredTiger error message","attr":{"error":1,"message":{"ts_sec":1715742168,"ts_usec":430217,"thread":"1:0x7fa9e7b57c80","session_dhandle_name":"file:WiredTiger.wt","session_name":"connection","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__posix_open_file:815:/data/db/WiredTiger.wt: handle-open: open","error_str":"Operation not permitted","error_code":1}}}
{"t":{"$date":""},"s":"E", "c":"WT", "id":22435, "ctx":"initandlisten","msg":"WiredTiger error message","attr":{"error":1,"message":{"ts_sec":1715742168,"ts_usec":503395,"thread":"1:0x7fa9e7b57c80","session_dhandle_name":"file:WiredTiger.wt","session_name":"connection","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__posix_open_file:815:/data/db/WiredTiger.wt: handle-open: open","error_str":"Operation not permitted","error_code":1}}}
{"t":{"$date":""},"s":"E", "c":"WT", "id":22435, "ctx":"initandlisten","msg":"WiredTiger error message","attr":{"error":1,"message":{"ts_sec":1715742168,"ts_usec":581244,"thread":"1:0x7fa9e7b57c80","session_dhandle_name":"file:WiredTiger.wt","session_name":"connection","category":"WT_VERB_DEFAULT","category_id":9,"verbose_level":"ERROR","verbose_level_id":-3,"msg":"__posix_open_file:815:/data/db/WiredTiger.wt: handle-open: open","error_str":"Operation not permitted","error_code":1}}}
なんかいろいろ試す。
dockerのimageを削除して、再度docker-composeしてもダメ。
作業フォルダ内のgit管理じゃないファイルを消してみたら、起動できた。
最終的にはdata-nodeを消せば起動できることが判明
ようやく記事を見つける
stackoverflowに関係ありそうな記事を発見。「Windowsのボリュームにマウントできへん」みたいな内容?
https://stackoverflow.com/questions/77123711/mongodb-server-wont-start-wiredtiger-wt-handle-open
さらにQiitaの記事も発見。感謝