MongoDB 8
ApplicationsMongoDB Server is a general purpose, document-based, distributed database built for modern application developers and for the cloud era.
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_8 | ghcr.io/ptero-eggs/yolks:mongodb_8 |
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 --username ${MONGO_USER} --password ${MONGO_USER_PASS} --host 127.0.0.1:${SERVER_PORT} --eval "db.getSiblingDB('admin').shutdownServer()" 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
mongo:8-noblebash#!/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 "-----------------------------------------"