Guest User

Untitled

a guest
Jan 9th, 2019
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.43 KB | None | 0 0
  1. echo " ------------------------------------------ "
  2. echo "! !"
  3. echo "! WELCOME . !"
  4. echo "! MessAI Sentry Setup !"
  5. echo "! !"
  6. echo " ------------------------------------------ "
  7.  
  8. echo ""
  9. read -p "Do you want to run Sentry Service? [y/n] " prompt
  10.  
  11. if [[ $prompt == "y" || $prompt == "Y" || $prompt == "yes" || $prompt == "Yes" ]]
  12. then
  13. printf "\n"
  14. echo " ------------------------------------------ "
  15. echo " Sentry Setup "
  16. echo " ------------------------------------------ "
  17.  
  18. # Redis Setup
  19.  
  20. if [ ! "$(docker ps -q -f name=sentry-redis)" ]; then
  21. if [ "$(docker ps -aq -f status=exited -f name=sentry-redis)" ]; then
  22. # cleanup
  23. docker rm sentry-redis
  24. fi
  25. # run your container
  26. docker run --detach --name sentry-redis redis:3.2-alpine
  27. until [ "`/usr/local/bin/docker inspect -f {{.State.Running}} sentry-redis`"=="true" ]; do
  28. sleep 1;
  29. done;
  30. echo "The redis server is healthy and good to go."
  31. else
  32. echo "An healthy redis instance is already running"
  33. fi
  34.  
  35. # Postgres Setup
  36.  
  37. if [ ! "$(docker ps -q -f name=sentry-postgres)" ]; then
  38. if [ "$(docker ps -aq -f status=exited -f name=sentry-postgres)" ]; then
  39. # cleanup
  40. docker rm sentry-postgres
  41. fi
  42. # run your container
  43. printf "\n"
  44. read -p "Please provide the postgres username for sentry: " username
  45. read -p "Please provide the postgres password for sentry: " password
  46. docker run --detach --name sentry-postgres --env POSTGRES_PASSWORD=$password --env POSTGRES_USER=$username postgres:9.5
  47. until [ "`/usr/local/bin/docker inspect -f {{.State.Running}} sentry-postgres`"=="true" ]; do
  48. sleep 10;
  49. done;
  50. echo "The postgres server is healthy and good to go."
  51. else
  52. echo "An healthy postgres instance is already running"
  53. fi
  54.  
  55. # Run Smtp Server
  56.  
  57. if [ ! "$(docker ps -q -f name=sentry-smtp)" ]; then
  58. if [ "$(docker ps -aq -f status=exited -f name=sentry-smtp)" ]; then
  59. # cleanup
  60. docker rm sentry-smtp
  61. fi
  62. # run your container
  63. docker run --detach --name sentry-smtp tianon/exim4
  64. until [ "`/usr/local/bin/docker inspect -f {{.State.Running}} sentry-smtp`"=="true" ]; do
  65. sleep 1;
  66. done;
  67. echo "The smtp server is healthy and good to go."
  68. else
  69. echo "An healthy smtp instance is already running"
  70. fi
  71.  
  72. # Get secret key
  73. secret_key=`docker run --rm messai-sentry:0.1 config generate-secret-key`
  74.  
  75. # Run Sentry Server
  76.  
  77. if [ ! "$(docker ps -q -f name=messai-sentry-server)" ]; then
  78. if [ "$(docker ps -aq -f status=exited -f name=messai-sentry-server)" ]; then
  79. # cleanup
  80. docker rm messai-sentry-server
  81. fi
  82. # run your container
  83. docker run --detach --link sentry-redis:redis --link sentry-postgres:postgres --link sentry-smtp:smtp --name messai-sentry-server --env SENTRY_SECRET_KEY=$secret_key messai-sentry:0.1
  84. until [ "`/usr/local/bin/docker inspect -f {{.State.Running}} messai-sentry-server`"=="true" ]; do
  85. sleep 10;
  86. done;
  87. echo "The sentry server is healthy and good to go."
  88. else
  89. echo "An healthy sentry instance is already running"
  90. fi
  91.  
  92. # Run Migrations
  93. docker run --rm -it --link sentry-redis:redis --link sentry-postgres:postgres --link sentry-smtp:smtp --env SENTRY_SECRET_KEY=$secret_key messai-sentry:0.1 upgrade
  94.  
  95. # Run Web
  96. if [ ! "$(docker ps -q -f name=sentry-web-05)" ]; then
  97. if [ "$(docker ps -aq -f status=exited -f name=sentry-web-05)" ]; then
  98. # cleanup
  99. docker rm sentry-web-05
  100. fi
  101. # run your container
  102. docker run --detach --link sentry-redis:redis --link sentry-postgres:postgres --link sentry-smtp:smtp --name sentry-web-05 --env SENTRY_SECRET_KEY=$secret_key --publish 9000:9000 messai-sentry:0.1 run web
  103. until [ "`/usr/local/bin/docker inspect -f {{.State.Running}} sentry-web-05`"=="true" ]; do
  104. sleep 10;
  105. done;
  106. echo "The sentry server web is healthy and good to go."
  107. else
  108. echo "An healthy sentry web instance is already running"
  109. fi
  110.  
  111. # Run Worker
  112. if [ ! "$(docker ps -q -f name=sentry-worker-01)" ]; then
  113. if [ "$(docker ps -aq -f status=exited -f name=sentry-worker-01)" ]; then
  114. # cleanup
  115. docker rm sentry-worker-01
  116. fi
  117. # run your container
  118. docker run --detach --link sentry-redis:redis --link sentry-smtp:smtp --link sentry-postgres:postgres --name sentry-worker-01 --env SENTRY_SECRET_KEY=$secret_key messai-sentry:0.1 run worker
  119. until [ "`/usr/local/bin/docker inspect -f {{.State.Running}} sentry-worker-01`"=="true" ]; do
  120. sleep 10;
  121. done;
  122. echo "The sentry server worker is healthy and good to go."
  123. else
  124. echo "An healthy sentry worker instance is already running"
  125. fi
  126.  
  127. # Run Cron
  128. if [ ! "$(docker ps -q -f name=sentry-cron)" ]; then
  129. if [ "$(docker ps -aq -f status=exited -f name=sentry-cron)" ]; then
  130. # cleanup
  131. docker rm sentry-cron
  132. fi
  133. # run your container
  134. docker run --detach --link sentry-redis:redis --link sentry-smtp:smtp --link sentry-postgres:postgres --name sentry-cron --env SENTRY_SECRET_KEY=$secret_key messai-sentry:0.1 run cron
  135. until [ "`/usr/local/bin/docker inspect -f {{.State.Running}} sentry-cron`"=="true" ]; do
  136. sleep 10;
  137. done;
  138. echo "The sentry server cron is healthy and good to go."
  139. else
  140. echo "An healthy sentry cron instance is already running"
  141. fi
  142. else
  143. echo "Skipping Sentry Setup"
  144. fi
Add Comment
Please, Sign In to add comment