目次
ChatGPTクローンとしてLibreChatを利用しているのですが、普段ほとんどDBは触らないのでユーザの削除等データベース管理が大変でした。
LibreChatではデータベース管理を楽にするためにMongo Expressが導入できます。
ちなみにMongo Expressは下記画像のように、ブラウザからデータベースが簡単に管理できるインターフェースです。
今回実際にやってみたので備忘録を残します。
Mongo-Expressを追加する
早速Mongo Expressの設定をします。
設定とは言ってもLibreChatが元々用意してくれるのでdockerファイルをいじったりするだけOKです。
docker-compose.override.ymlの作成
LibreChat 用のメインの docker-compose.yml
ファイルと同じディレクトリに、docker-compose.override.yml
という名前の新しいファイルを作成します。
docker-compose.override.yml.example
が用意されているので、そちらをコピーして名前を変えるか、完全に作り直します。
コピーする場合はADD MONGO-EXPRESS
と書かれている箇所のコメントアウトを外すだけでOK
コピーする場合の手順
- LibreChatのディレクトリに移動して下記コマンドを実行
cp docker-compose.override.yml.example docker-compose.override.yml
- vimを起動して
docker-compose.override.yml
を修正するvim docker-compose.override.yml
- vimで修正する
- ADD MONGO-EXPRESSのコメントアウトを外す
- ADD MONGO-EXPRESSの行で、ctrl+vで矩形ビジュアルモードにして、jで範囲選択してdで一括削除。
- そんなに量が多いわけでもないのでxで削除を繰り返すだけでもOK
- escして:wqで保存して閉じる
- ちなみに
ME_CONFIG_BASICAUTH_USERNAME: admin
とME_CONFIG_BASICAUTH_PASSWORD: password
はセキュリティ上好きなものに修正したほうが良いです。 - その上にある
service:
というところのコメントアウトを外す - -----------と区切られている箇所の下にあるはず。
- ADD MONGO-EXPRESSの行で、ctrl+vで矩形ビジュアルモードにして、jで範囲選択してdで一括削除。
新しくファイルを作り直す場合の手順
新しくファイルを作成した場合は、以下の内容を
docker-compose.override.yml
ファイルにコピーしますversion: '3.4' services: mongo-express: image: mongo-express container_name: mongo-express environment: ME_CONFIG_MONGODB_SERVER: mongodb ME_CONFIG_BASICAUTH_USERNAME: admin ME_CONFIG_BASICAUTH_PASSWORD: password ports: - '8081:8081' depends_on: - mongodb restart: always
セキュリティ設定をする
Mongo Expressを利用する前にセキュリティの設定をしておきます。デフォルトだとログインするためのユーザー名とパスワードが
admin
とpassword
になっているのでセキュリティのため設定しておく必要があります。設定はdocker-compose.ymlのenvironmentの部分に記載されています。
environment: ME_CONFIG_MONGODB_SERVER: mongodb ME_CONFIG_BASICAUTH_USERNAME: admin ⇦ これを変える ME_CONFIG_BASICAUTH_PASSWORD: password ⇦ これを変える # database authentication variables, using example credentials from guide ME_CONFIG_MONGODB_URL: 'mongodb://adminUser:securePassword@mongodb:27017' ME_CONFIG_MONGODB_ADMINUSERNAME: adminUser ME_CONFIG_MONGODB_ADMINPASSWORD: securePassword
Mongo Express の起動とアクセス
docker-compose.override.yml
ファイルを保存し、docker-compose.yml
ファイルがあるディレクトリから以下のコマンドを実行して、他のDockerサービスとともにMongo-Expressを起動します。docker compose up -d
このコマンドは、
docker-compose.override.yml
をdocker-compose.yml
にマージし、設定を適用します。Mongo-Express が起動したら、ウェブブラウザで http://localhost:8081 にアクセスしてください。
ME_CONFIG_BASICAUTH_USERNAME
とME_CONFIG_BASICAUTH_PASSWORD
に指定したユーザー名とパスワードを入力する必要があります。入力したらログインできるはずです。
Mongo Expressの削除
Docker環境からMongo-Expressを削除したい場合は、以下の簡単な手順に従ってください:
docker-compose.yml
とdocker-compose.override.yml
ファイルがあるディレクトリに移動します。docker-compose.yml
とdocker-compose.override.yml
ファイルで定義されている実行中のコンテナをすべて停止して削除します。以下のコマンドを使用する:docker compose down
以上の手順で、Docker 環境から Mongo Express を削除できます。後で Mongo Express を復活させたい場合は、バックアップファイルの名前を
docker-compose.override.yml
に戻すか、元のdocker-compose.override.yml
ファイルを Mongo Express の設定で作り直しましょう。参考
- vimを起動して