Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- echo " ------------------------------------------ "
- echo "! !"
- echo "! WELCOME . !"
- echo "! MessAI Sentry Setup !"
- echo "! !"
- echo " ------------------------------------------ "
- echo ""
- read -p "Do you want to run Sentry Service? [y/n] " prompt
- if [[ $prompt == "y" || $prompt == "Y" || $prompt == "yes" || $prompt == "Yes" ]]
- then
- printf "\n"
- echo " ------------------------------------------ "
- echo " Sentry Setup "
- echo " ------------------------------------------ "
- # Redis Setup
- if [ ! "$(docker ps -q -f name=sentry-redis)" ]; then
- if [ "$(docker ps -aq -f status=exited -f name=sentry-redis)" ]; then
- # cleanup
- docker rm sentry-redis
- fi
- # run your container
- docker run --detach --name sentry-redis redis:3.2-alpine
- until [ "`/usr/local/bin/docker inspect -f {{.State.Running}} sentry-redis`"=="true" ]; do
- sleep 1;
- done;
- echo "The redis server is healthy and good to go."
- else
- echo "An healthy redis instance is already running"
- fi
- # Postgres Setup
- if [ ! "$(docker ps -q -f name=sentry-postgres)" ]; then
- if [ "$(docker ps -aq -f status=exited -f name=sentry-postgres)" ]; then
- # cleanup
- docker rm sentry-postgres
- fi
- # run your container
- printf "\n"
- read -p "Please provide the postgres username for sentry: " username
- read -p "Please provide the postgres password for sentry: " password
- docker run --detach --name sentry-postgres --env POSTGRES_PASSWORD=$password --env POSTGRES_USER=$username postgres:9.5
- until [ "`/usr/local/bin/docker inspect -f {{.State.Running}} sentry-postgres`"=="true" ]; do
- sleep 10;
- done;
- echo "The postgres server is healthy and good to go."
- else
- echo "An healthy postgres instance is already running"
- fi
- # Run Smtp Server
- if [ ! "$(docker ps -q -f name=sentry-smtp)" ]; then
- if [ "$(docker ps -aq -f status=exited -f name=sentry-smtp)" ]; then
- # cleanup
- docker rm sentry-smtp
- fi
- # run your container
- docker run --detach --name sentry-smtp tianon/exim4
- until [ "`/usr/local/bin/docker inspect -f {{.State.Running}} sentry-smtp`"=="true" ]; do
- sleep 1;
- done;
- echo "The smtp server is healthy and good to go."
- else
- echo "An healthy smtp instance is already running"
- fi
- # Get secret key
- secret_key=`docker run --rm messai-sentry:0.1 config generate-secret-key`
- # Run Sentry Server
- if [ ! "$(docker ps -q -f name=messai-sentry-server)" ]; then
- if [ "$(docker ps -aq -f status=exited -f name=messai-sentry-server)" ]; then
- # cleanup
- docker rm messai-sentry-server
- fi
- # run your container
- 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
- until [ "`/usr/local/bin/docker inspect -f {{.State.Running}} messai-sentry-server`"=="true" ]; do
- sleep 10;
- done;
- echo "The sentry server is healthy and good to go."
- else
- echo "An healthy sentry instance is already running"
- fi
- # Run Migrations
- 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
- # Run Web
- if [ ! "$(docker ps -q -f name=sentry-web-05)" ]; then
- if [ "$(docker ps -aq -f status=exited -f name=sentry-web-05)" ]; then
- # cleanup
- docker rm sentry-web-05
- fi
- # run your container
- 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
- until [ "`/usr/local/bin/docker inspect -f {{.State.Running}} sentry-web-05`"=="true" ]; do
- sleep 10;
- done;
- echo "The sentry server web is healthy and good to go."
- else
- echo "An healthy sentry web instance is already running"
- fi
- # Run Worker
- if [ ! "$(docker ps -q -f name=sentry-worker-01)" ]; then
- if [ "$(docker ps -aq -f status=exited -f name=sentry-worker-01)" ]; then
- # cleanup
- docker rm sentry-worker-01
- fi
- # run your container
- 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
- until [ "`/usr/local/bin/docker inspect -f {{.State.Running}} sentry-worker-01`"=="true" ]; do
- sleep 10;
- done;
- echo "The sentry server worker is healthy and good to go."
- else
- echo "An healthy sentry worker instance is already running"
- fi
- # Run Cron
- if [ ! "$(docker ps -q -f name=sentry-cron)" ]; then
- if [ "$(docker ps -aq -f status=exited -f name=sentry-cron)" ]; then
- # cleanup
- docker rm sentry-cron
- fi
- # run your container
- 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
- until [ "`/usr/local/bin/docker inspect -f {{.State.Running}} sentry-cron`"=="true" ]; do
- sleep 10;
- done;
- echo "The sentry server cron is healthy and good to go."
- else
- echo "An healthy sentry cron instance is already running"
- fi
- else
- echo "Skipping Sentry Setup"
- fi
Add Comment
Please, Sign In to add comment