21 lines
777 B
Bash
Executable file
21 lines
777 B
Bash
Executable file
#!/bin/bash
|
|
set -e
|
|
cd /var/filestore/src
|
|
|
|
PYTHON=/usr/bin/python3
|
|
|
|
echo "determining bind location..."
|
|
BIND_PORT=${FILESTORE_PORT:-8000}
|
|
PRIVATE_BIND_ADDR_=$(curl -w "\n" http://169.254.169.254/metadata/v1/interfaces/private/0/ipv4/address --connect-timeout 2 || printf "0.0.0.0")
|
|
PRIVATE_BIND_ADDR=$(echo $BIND_ADDR_ | xargs)
|
|
PUBLIC_BIND_ADDR_=$(curl -w "\n" http://169.254.169.254/metadata/v1/interfaces/public/0/ipv4/address --connect-timeout 2 || printf "0.0.0.0")
|
|
PUBLIC_BIND_ADDR=$(echo $BIND_ADDR_ | xargs)
|
|
|
|
WORKERS=${WORKERS:-4}
|
|
ENVIRONMENT=${ENVIRONMENT:-production}
|
|
service nginx start
|
|
if [ "$ENVIRONMENT" == "development" ]; then
|
|
$PYTHON app.py
|
|
else
|
|
exec gunicorn --bind="$PRIVATE_BIND_ADDR:$BIND_PORT" --bind="$PUBLIC_BIND_ADDR:$BIND_PORT" -w $WORKERS app:app
|
|
fi
|