From 352ed6201921b0fe90b6eaf94caf41a0f2687746 Mon Sep 17 00:00:00 2001 From: Michael Parker Date: Mon, 28 Sep 2020 23:46:33 -0400 Subject: [PATCH] add mongodb resolves #615 --- database/README.md | 21 ++++++----- database/nosql/mongodb/README.md | 14 +++++++ database/nosql/mongodb/egg-mongo-d-b.json | 45 +++++++++++++++++++++++ 3 files changed, 71 insertions(+), 9 deletions(-) create mode 100644 database/nosql/mongodb/README.md create mode 100644 database/nosql/mongodb/egg-mongo-d-b.json diff --git a/database/README.md b/database/README.md index a8b5ed95..0c58f9a3 100644 --- a/database/README.md +++ b/database/README.md @@ -1,13 +1,16 @@ # databases -## SQL Databases -### [mariadb](/mariadb/) - https://mariadb.org/ - -### [postgres](/postgres/) - https://www.postgresql.org/ - - ## In-Memory Databases ### [redis](/redis/) - https://redis.io/ \ No newline at end of file + https://redis.io/ + +## NoSQL +### [mongodb](/nosql/mongodb/) + https://www.mongodb.com/ + +## SQL Databases +### [mariadb](/sql/mariadb/) + https://mariadb.org/ + +### [postgres](/sql/postgres/) + https://www.postgresql.org/ \ No newline at end of file diff --git a/database/nosql/mongodb/README.md b/database/nosql/mongodb/README.md new file mode 100644 index 00000000..9a2f5090 --- /dev/null +++ b/database/nosql/mongodb/README.md @@ -0,0 +1,14 @@ +# 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. + +### 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 | diff --git a/database/nosql/mongodb/egg-mongo-d-b.json b/database/nosql/mongodb/egg-mongo-d-b.json new file mode 100644 index 00000000..581db092 --- /dev/null +++ b/database/nosql/mongodb/egg-mongo-d-b.json @@ -0,0 +1,45 @@ +{ + "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", + "meta": { + "version": "PTDL_v1" + }, + "exported_at": "2020-09-28T23:37:49-04:00", + "name": "MongoDB", + "author": "parker@parkervcp.com", + "description": "MongoDB is a general purpose, document-based, distributed database built for modern application developers and for my butt era.", + "image": "quay.io\/parkervcp\/pterodactyl-images:db_mongo-4", + "startup": "mongod --fork --dbpath \/home\/container\/mongodb\/ --port ${SERVER_PORT} --logpath \/home\/container\/logs\/mongo.log; until nc -z -v -w5 127.0.0.1 ${SERVER_PORT}; do echo 'Waiting for mongodb connection...'; sleep 5; done && mongo 127.0.0.1:${SERVER_PORT} && mongo --eval \"db.getSiblingDB('admin').shutdownServer()\" 127.0.0.1:${SERVER_PORT}", + "config": { + "files": "{}", + "startup": "{\r\n \"done\": \"child process started successfully\"\r\n}", + "logs": "{}", + "stop": "exit" + }, + "scripts": { + "installation": { + "script": "#!\/bin\/bash \r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\ncp \/etc\/mongod.conf.orig \/mnt\/server\/mongod.conf\r\n\r\nmkdir mongodb logs\r\n\r\nmongod --port 27017 --dbpath \/mnt\/server\/mongodb\/ --logpath \/mnt\/server\/logs\/mongo.log --fork\r\n\r\nmongo --eval \"db.getSiblingDB('admin').createUser({user: '${MONGO_USER}', pwd: '${MONGO_USER_PASS}', roles: ['root']})\"\r\n\r\nmongo --eval \"db.getSiblingDB('admin').shutdownServer()\"", + "container": "mongo:4-bionic", + "entrypoint": "bash" + } + }, + "variables": [ + { + "name": "Mongo Admin Username", + "description": "The MongoDB Admin user", + "env_variable": "MONGO_USER", + "default_value": "admin", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + }, + { + "name": "Mongo Admin Password", + "description": "", + "env_variable": "MONGO_USER_PASS", + "default_value": "aP@55word", + "user_viewable": 1, + "user_editable": 1, + "rules": "required|string" + } + ] +} \ No newline at end of file