Allow executing run script w/o prior setup
This change allows a bit quicker and simpler setup on new servers. Rather than setting up dependencies, virtual environment, etc, a systemd daemon, for example, can just ExecStart the script from any location without having to perform any preliminary setup. The only prerequisite step now is having Python3+ installed.main
parent
e06ff85579
commit
7f91de7399
15
run
15
run
|
@ -7,6 +7,19 @@ set -euo pipefail
|
||||||
|
|
||||||
SCRIPT_DIR="$(builtin cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)"
|
SCRIPT_DIR="$(builtin cd "$(dirname "${BASH_SOURCE[0]}")" && pwd -P)"
|
||||||
|
|
||||||
|
if [[ ! -x "$(command -v python3)" ]]; then
|
||||||
|
echo "Python3 required -- please install first"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -d "$SCRIPT_DIR/venv" ]]; then
|
||||||
|
python3 -m venv venv
|
||||||
|
"$SCRIPT_DIR"/venv/bin/pip install --upgrade pip
|
||||||
|
"$SCRIPT_DIR"/venv/bin/pip install -r requirements.txt
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd "$SCRIPT_DIR"
|
||||||
|
|
||||||
# Set directory to serve static content from
|
# Set directory to serve static content from
|
||||||
SUBDIR="${1:-app}"
|
SUBDIR="${1:-app}"
|
||||||
export APP_ROOT="$SCRIPT_DIR/$SUBDIR"
|
export APP_ROOT="$SCRIPT_DIR/$SUBDIR"
|
||||||
|
@ -24,7 +37,7 @@ if [[ "$SUBDIR" == "test" ]]; then
|
||||||
pytest -sv
|
pytest -sv
|
||||||
else
|
else
|
||||||
mkdir -p "$STATIC_FOLDER"
|
mkdir -p "$STATIC_FOLDER"
|
||||||
python3 -um app \
|
"$SCRIPT_DIR"/venv/bin/python -um app \
|
||||||
--host "${ADDRESS:-0.0.0.0}" \
|
--host "${ADDRESS:-0.0.0.0}" \
|
||||||
--port "${PORT:-"${EXPOSE_PORT:-5000}"}"
|
--port "${PORT:-"${EXPOSE_PORT:-5000}"}"
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue