Manage Your MongoDB Database with Mongo Express
To enhance the security of your data, external ports for MongoDB are not exposed outside of the docker environment. However, you can safely access and manage your MongoDB database using Mongo Express, a convenient web-based administrative interface. Follow this guide to set up Mongo Express in your Docker environment.
Mongo-Express Setup
Mongo Express allows you to interact with your MongoDB database through your browser. To set it up, perform the following steps:
Setting up Mongo Express service
-
Create a new file named
docker-compose.override.ymlin the same directory as your maindocker-compose.ymlfile for LibreChat. -
Copy the following contents into the
docker-compose.override.ymlfile:
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
Security Notice
-
Before using this configuration, replace
adminandpasswordwith a unique username and password for accessing Mongo Express. These credentials should be strong and not easily guessable to prevent unauthorized access. -
Optional: You can also add native authentication to your database. See the
docker-compose.overrideguide for instructions on how to do so.- If utilizing authentication, ensure the admin user has the "clusterAdmin" and "readAnyDatabase" permissions. These steps are detailed in the docker-compose.override guide .
- After following the guide to authenticate MongoDB, you will need these variables under the environment section for mongo-express:
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
Launching and accessing Mongo Express
-
Save the
docker-compose.override.ymlfile and run the following command from the directory where yourdocker-compose.ymlfile is located to start Mongo-Express along with your other Docker services:
This command will merge the
docker-compose.override.yml
with your
docker-compose.yml
and apply the configuration.
-
Once Mongo-Express is up and running, access it by navigating to
http://localhost:8081in your web browser. You'll need to enter the username and password you specified forME_CONFIG_BASICAUTH_USERNAMEandME_CONFIG_BASICAUTH_PASSWORD.
Removing Mongo Express
If you wish to remove Mongo-Express from your Docker environment, follow these straightforward steps:
- Navigate to the directory containing your
docker-compose.yml
and
docker-compose.override.yml
files.
-
Bring down the current Docker environment, which will stop and remove all running containers defined in the
docker-compose.ymlanddocker-compose.override.ymlfiles. Use the following command: -
Now you can either rename or delete the
docker-compose.override.ymlfile, which contains the Mongo Express configuration. -
Finally, bring your Docker environment back up, which will now exclude Mongo Express:
By following these steps, you will have successfully removed Mongo Express from your Docker environment. If you want to reinstate Mongo Express at a later time, you can either rename the backup file back to
docker-compose.override.ymlor recreate the originaldocker-compose.override.ymlfile with the Mongo Express configuration.