38 lines
775 B
Bash
Executable file
38 lines
775 B
Bash
Executable file
#!/bin/bash
|
|
|
|
function is_gunicorn_installed() {
|
|
pip show gunicorn
|
|
}
|
|
|
|
# For SCL enablement
|
|
source .bashrc
|
|
|
|
set -e
|
|
|
|
|
|
# Support for Django
|
|
|
|
# Take shallowest manage.py script
|
|
MANAGE_FILE=$(find . -maxdepth 3 -type f -name 'manage.py' -printf '%d\t%P\n' | sort -nk1 | cut -f2 | head -1)
|
|
|
|
if pip show -q django && [ -f "$MANAGE_FILE" ]; then
|
|
set -x
|
|
python $MANAGE_FILE migrate --noinput
|
|
set +x
|
|
fi
|
|
|
|
|
|
export APP_FILE=${APP_FILE:-"app.py"}
|
|
|
|
if [[ ! -v APP_MODULE && -f setup.py ]]; then
|
|
APP_MODULE=`python setup.py --name`":application"
|
|
fi
|
|
|
|
if is_gunicorn_installed && [[ -v APP_MODULE ]]; then
|
|
if [[ -v APP_CONFIG ]]; then
|
|
export CONFIG="--config ${APP_CONFIG}"
|
|
fi
|
|
exec gunicorn ${APP_MODULE} --bind=:8080 ${CONFIG}
|
|
fi
|
|
|
|
exec python -u ${APP_FILE}
|