Guest User

Untitled

a guest
Feb 20th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. DEFAULT_VOLUME_PATH=~/mongo/data
  2. CONTAINER_NAME=some-mongo
  3.  
  4. runMongoContainer()
  5. {
  6. VOLUME=$1
  7. docker run --name $CONTAINER_NAME -v $VOLUME:/data/bs -p 27017:27017 -d mongo --replSet rs0
  8. ####################################################################### NOTICE --replSet
  9. }
  10.  
  11. executeCommandOnShell()
  12. {
  13. docker exec -it $CONTAINER_NAME mongo admin --eval "$1"
  14. }
  15.  
  16. notifyImageDownloading()
  17. {
  18. if [ -z $(docker images -q mongo) ]; then
  19. echo ""
  20. echo "Mongo image not yet installed, will install now..."
  21. echo "This might take a few minutes!"
  22. echo ""
  23. fi
  24. }
  25.  
  26. main()
  27. {
  28. VOLUME_PATH=$DEFAULT_VOLUME_PATH
  29. if [[ $# -gt 0 ]]; then VOLUME_PATH=$1; fi
  30.  
  31. echo ""
  32. echo "--- Running mongo container ---"
  33. notifyImageDownloading
  34. echo ""
  35. runMongoContainer $VOLUME_PATH
  36. sleep 1s
  37.  
  38. echo "--- Initiating replication set ---"
  39. echo ""
  40. executeCommandOnShell "rs.initiate()"
  41. ######################## Initialize replica set
  42. sleep 2s
  43.  
  44. echo "--- Creating admin user ---"
  45. echo ""
  46. executeCommandOnShell "db.createUser({user: 'root', pwd: 'root', roles: [{role: 'userAdminAnyDatabase', db: 'admin'}]})" # IMPORTANT
  47. ##################### Create a user
  48.  
  49. echo ""
  50. echo "You're good to go!"
  51. echo "Make sure you .env file has the following settings set:"
  52. echo "DATABASE_URL=mongodb://root:root@localhost:27017/"
  53. echo "DATABASE_NAME=admin"
  54. }
  55.  
  56. if [ "$1" == "--help" ]; then
  57. echo ""
  58. echo "Usage: bootstrap.sh <optional path for volume>"
  59. echo ""
  60. echo "Default volume path is: '$DEFAULT_VOLUME_PATH'"
  61. echo ""
  62. echo "Stop/start container:"
  63. echo " docker stop/start $CONTAINER_NAME"
  64. echo ""
  65. echo "Delete the container:"
  66. echo " docker rm $CONTAINER_NAME"
  67. exit 0
  68. fi
  69.  
  70. main $@
Add Comment
Please, Sign In to add comment