44 lines
983 B
Bash
Executable File
44 lines
983 B
Bash
Executable File
#!/bin/bash
|
|
|
|
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
|
|
|
source $SCRIPT_DIR/env
|
|
|
|
if ! test -f "$SCRIPT_DIR/.undercover_init_successful"; then
|
|
if ! "$SCRIPT_DIR/init"; then
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
function may-init {
|
|
if $@; then
|
|
return 0
|
|
else
|
|
echo "Service start failed. Re-initializing."
|
|
rm "$SCRIPT_DIR/.undercover_init_successful"
|
|
"$SCRIPT_DIR/init"
|
|
source "$SCRIPT_DIR/.venv/bin/activate"
|
|
$@
|
|
fi
|
|
}
|
|
|
|
if ! pip3 -V | grep -E "$SCRIPT_DIR/\.?venv"; then
|
|
echo "Entering virtual environment..."
|
|
source "$SCRIPT_DIR/.venv/bin/activate"
|
|
fi
|
|
|
|
PROD_PORT=8080
|
|
|
|
if [[ "$UNDERCOVER_PROD_PORT" != "" ]]; then
|
|
PROD_PORT="$UNDERCOVER_PROD_PORT"
|
|
fi
|
|
|
|
if [[ "$1" == "prod" ]]; then
|
|
echo "Starting gunicorn production server..."
|
|
may-init gunicorn -b "localhost:$PROD_PORT" "app:create_app()"
|
|
else
|
|
echo "Starting local dev server..."
|
|
export FLASK_APP=app
|
|
may-init flask --debug run --host=0.0.0.0
|
|
fi
|