Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
./buildMongo.sh
# mongo_docker_bootstrap

Simple shell script to create a local mongo docker container.

Running `./buildMongo.sh` will prompt the user to enter username/password of the global admin account. Upon successful creation of said user, the next three prompts will ask for the name of the database and username/password of a user that has read/write access to the database to-be-created.

`docker-compose` needs to be in the path for the script to work properly.
20 changes: 16 additions & 4 deletions buildMongo.sh
Original file line number Diff line number Diff line change
@@ -1,10 +1,22 @@

#!/bin/sh
ADMIN_DB='admin'

docker-compose down &&
docker-compose rm &&
docker-compose pull &&
docker-compose build --no-cache &&
docker-compose up -d --force-recreate
sleep 1
docker exec db_mongodb mongo admin ./setup/create-admin.js
docker exec db_mongodb mongo myDb ./setup/create-user.js -u admin -p admin --authenticationDatabase admin
sleep 1

echo "Enter admin username"
read ADMIN_USER
echo "Enter admin password"
read ADMIN_PWD
docker exec db_mongodb mongo ${ADMIN_DB} --eval "db.createUser({user:'${ADMIN_USER}',pwd:'${ADMIN_PWD}',roles:[{role:'userAdminAnyDatabase',db:'${ADMIN_DB}'},{role:'readWrite',db:'${ADMIN_DB}'}]});" &&
echo "Enter database name"
read DB
echo "Enter username"
read DBUSER
echo "Enter password"
read DBPASS
docker exec db_mongodb mongo ${DB} --eval "db.createUser({user:'${DBUSER}', pwd:'${DBPASS}', roles:[{role:'readWrite',db:'${DB}'}]});" -u ${ADMIN_USER} -p ${ADMIN_PWD} --authenticationDatabase ${ADMIN_DB}
2 changes: 0 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,11 @@ mongo:
ports:
- "27017:27017"
command: --auth

container_name: "db_mongodb"

data:
image: mongo:latest
volumes:
- /var/lib/mongo
- ./setup:/setup
command: "true"
container_name: "db_mongodb_data"
9 changes: 0 additions & 9 deletions setup/create-admin.js

This file was deleted.

8 changes: 0 additions & 8 deletions setup/create-user.js

This file was deleted.