MongoDB 7

Applications
Report Issue

MongoDB Server is a general purpose, document-based, distributed database built for modern application developers and for the cloud era.

Contributors:
README

MongoDB

From their Website

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

MongoDB 6+ eggs enable 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

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:

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
Docker Images (1)
Name Image
MongoDB_7 ghcr.io/ptero-eggs/yolks:mongodb_7
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}
Variables (2)

Mongo Admin Username

The MongoDB Admin user

Environment:
MONGO_USER
Default:
admin
User Viewable:
User Editable:
Rules:
required|string

Mongo Admin Password

Environment:
MONGO_USER_PASS
Default:
None
User Viewable:
User Editable:
Rules:
required|string
Installation Script
Container: mongo:7-jammy
Entrypoint: bash
#!/bin/bash 
if [ ! -d /mnt/server/ ]; then
    mkdir -p /mnt/server/
fi

cd /mnt/server/

cp /etc/mongod.conf.orig /mnt/server/mongod.conf

mkdir mongodb logs

mongod --port 27017 --dbpath /mnt/server/mongodb/ --logpath /mnt/server/logs/mongo.log --fork

mongosh --eval "db.getSiblingDB('admin').createUser({user: '${MONGO_USER}', pwd: '${MONGO_USER_PASS}', roles: ['root']})"

mongosh --eval "db.getSiblingDB('admin').shutdownServer()"

## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"