@@ -13,6 +13,7 @@ $0 [OPTION]
13
13
-n VALUE set the name of the docker container (defaults to 'single_cell')
14
14
-e VALUE set the environment (defaults to 'development'. Running in 'production' will cause container to spawn headlessly)
15
15
-d VALUE set the project directory to mount inside Docker container (defaults to current working directory: ` pwd` )
16
+ -D VALUE set the docker image version to use when booting the container (defaults to 'latest')
16
17
-m VALUE set the MONGO_LOCALHOST variable, only used in development (defaults to 'mongodb')
17
18
-r VALUE set the maximum allowable RAM to be allocated to portal (defaults to 12GB)
18
19
-s VALUE set the SECRET_KEY_BASE variable, used for secure cookies (auto-generates by default)
@@ -43,7 +44,7 @@ GOOGLE_CLIENT_ID=$GOOGLE_CLIENT_ID
43
44
GOOGLE_CLOUD_PROJECT=$GOOGLE_CLOUD_PROJECT
44
45
DOCKER_IMAGE_VERSION=' latest'
45
46
46
- while getopts " n:e:d:m:r:s:k:p:h:u:P:H:o:S:" OPTION; do
47
+ while getopts " n:e:d:D: m:r:s:k:p:h:u:P:H:o:S:" OPTION; do
47
48
case $OPTION in
48
49
n)
49
50
CONTAINER_NAME=" $OPTARG "
@@ -54,6 +55,9 @@ case $OPTION in
54
55
d)
55
56
PROJECT_DIR=" $OPTARG "
56
57
;;
58
+ D)
59
+ DOCKER_IMAGE_VERSION=" $OPTARG "
60
+ ;;
57
61
m)
58
62
MONGO_LOCALHOST=" $OPTARG "
59
63
;;
98
102
if [[ $PASSENGER_APP_ENV = " production" ]]
99
103
then
100
104
# generate random secret key for secure cookies
101
- docker run -d --name $CONTAINER_NAME -p 80:80 -p 443:443 --link mongodb:mongodb - h $PROD_HOSTNAME -v $PROJECT_DIR :/home/app/webapp:rw -v $PROJECT_DIR /data:/home/app/webapp/data:rw -m $MAX_RAM -e PASSENGER_APP_ENV=$PASSENGER_APP_ENV -e MONGO_LOCALHOST=$MONGO_LOCALHOST -e PROD_DATABASE_PASSWORD=$PROD_DATABASE_PASSWORD -e SERVICE_ACCOUNT_KEY=$SERVICE_ACCOUNT_KEY -e SECRET_KEY_BASE=$SECRET_KEY_BASE -e PROD_HOSTNAME=$PROD_HOSTNAME -e SENDGRID_USERNAME=$SENDGRID_USERNAME -e SENDGRID_PASSWORD=$SENDGRID_PASSWORD -e OAUTH_CLIENT_ID=$OAUTH_CLIENT_ID -e OAUTH_CLIENT_SECRET=$OAUTH_CLIENT_SECRET single_cell_docker:$DOCKER_IMAGE_VERSION
105
+ docker run -d --name $CONTAINER_NAME -p 80:80 -p 443:443 -h $PROD_HOSTNAME -v $PROJECT_DIR :/home/app/webapp:rw -v $PROJECT_DIR /data:/home/app/webapp/data:rw -e PASSENGER_APP_ENV=$PASSENGER_APP_ENV -e MONGO_LOCALHOST=$MONGO_LOCALHOST -e PROD_DATABASE_PASSWORD=$PROD_DATABASE_PASSWORD -e SERVICE_ACCOUNT_KEY=$SERVICE_ACCOUNT_KEY -e SECRET_KEY_BASE=$SECRET_KEY_BASE -e PROD_HOSTNAME=$PROD_HOSTNAME -e SENDGRID_USERNAME=$SENDGRID_USERNAME -e SENDGRID_PASSWORD=$SENDGRID_PASSWORD -e OAUTH_CLIENT_ID=$OAUTH_CLIENT_ID -e OAUTH_CLIENT_SECRET=$OAUTH_CLIENT_SECRET single_cell_docker:$DOCKER_IMAGE_VERSION
102
106
elif [[ $PASSENGER_APP_ENV = " staging" ]]
103
107
then
104
108
docker run -d --name $CONTAINER_NAME -p 80:80 -p 443:443 --link mongodb:mongodb -h $PROD_HOSTNAME -v $PROJECT_DIR :/home/app/webapp:rw -v $PROJECT_DIR /data:/home/app/webapp/data:rw -v $PROJECT_DIR /single-cell-staging.broadinstitute.org.crt:/etc/pki/tls/certs/localhost.crt -v $PROJECT_DIR /single-cell-staging.broadinstitute.org.key:/etc/pki/tls/private/localhost.key -m $MAX_RAM -e PASSENGER_APP_ENV=$PASSENGER_APP_ENV -e MONGO_LOCALHOST=$MONGO_LOCALHOST -e PROD_DATABASE_PASSWORD=$PROD_DATABASE_PASSWORD -e SERVICE_ACCOUNT_KEY=$SERVICE_ACCOUNT_KEY -e SECRET_KEY_BASE=$SECRET_KEY_BASE -e PROD_HOSTNAME=$PROD_HOSTNAME -e SENDGRID_USERNAME=$SENDGRID_USERNAME -e SENDGRID_PASSWORD=$SENDGRID_PASSWORD -e OAUTH_CLIENT_ID=$OAUTH_CLIENT_ID -e OAUTH_CLIENT_SECRET=$OAUTH_CLIENT_SECRET single_cell_docker:$DOCKER_IMAGE_VERSION
0 commit comments