# 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 Pterodactyl 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 |