GPT-4oが来たのでLibreChatをDockerで環境構築しようと思ったらmongoDBで沼った話

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の記事も発見。感謝

https://qiita.com/StrayDog/items/56ee6e4b538f9c1cdd34

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA