MongoDB 6
MongoDB is a general purpose, document-based, distributed database built for modern application developers.
Exported:Author: parker@parkervcp.comVersion: PTDL_v2
README
# MongoDB ## From their [Website](https://www.mongodb.com/) MongoDB is a general purpose, document-based, distributed database built for modern application developers and for the cloud era. ### MongoDB free monitoring. To disable the message about free monitoring you can run `db.disableFreeMonitoring()`. ## Security By default, MongoDB **does not enforce access control**, meaning that even if you set an admin username and password in the settings of your server, **anyone will be able to connect to the database without authentication**, and perform any operation. > :warning: This is why we recommend to expose your MongoDB database only to your local network, if possible ### Enabling authentication To enable authentification, you need to edit the following lines to your `mongod.conf` file: ```yaml security: authorization: "enabled" ``` > :closed_lock_with_key: To learn more about MongoDB security, you can read the [MongoDB Security Checklist](https://www.mongodb.com/docs/manual/administration/security-checklist/#security-checklist) ### Notes specific to the MongoDB 6 or 7 egg **The [MongoDB 6 egg](./egg-mongo-d-b6.json) or [MongoDB 7 egg](./egg-mongo-d-b7.json) enables access control by default** in the `mongod.conf` file, meaning that even if people will be able to connect to your database as guests, [they will not be able to perform any operation, apart from nonhazardous commands](https://dba.stackexchange.com/a/292175) ### Disabling authentication **If you know what you are doing** and want to explicitly disable access control, you can edit the following lines to your `mongod.conf` file: ```yaml security: authorization: "disabled" ``` ## Minimum RAM warning MongoDB requires approximately 1GB of RAM per 100.000 assets. If the system has to start swapping memory to disk, this will have a severely negative impact on performance, and should be avoided. ## Server Ports Ports required to run the server in a table format. | Port | default | |---------|---------| | Server | 27017 |
Startup Command
mongod --fork --dbpath /home/container/mongodb/ --port ${SERVER_PORT} --bind_ip 0.0.0.0 --logpath /home/container/logs/mongo.log -f /home/container/mongod.conf; until nc -z -v -w5 127.0.0.1 ${SERVER_PORT}; do echo 'Waiting for mongodb connection...'; sleep 5; done; mongosh --username ${MONGO_USER} --password ${MONGO_USER_PASS} --host 127.0.0.1:${SERVER_PORT} && mongosh --eval "db.getSiblingDB('admin').shutdownServer()" 127.0.0.1:${SERVER_PORT}