26 lines
610 B
Bash
26 lines
610 B
Bash
#!/bin/sh
|
|
set -eu
|
|
|
|
SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
|
REPO_ROOT=$(dirname -- "$SCRIPT_DIR")
|
|
PYTHON_BIN="${PYTHON_BIN:-python3}"
|
|
PYTHON_SCRIPT="${1:-$SCRIPT_DIR/main.py}"
|
|
REQUIREMENTS_FILE="$REPO_ROOT/requirements.txt"
|
|
|
|
if [ ! -f "$PYTHON_SCRIPT" ]; then
|
|
echo "Python script not found: $PYTHON_SCRIPT" >&2
|
|
exit 1
|
|
fi
|
|
|
|
export PYTHONPATH="$REPO_ROOT${PYTHONPATH:+:$PYTHONPATH}"
|
|
cd "$SCRIPT_DIR"
|
|
docker compose pull
|
|
docker compose up -d
|
|
|
|
if [ -f "$REQUIREMENTS_FILE" ]; then
|
|
"$PYTHON_BIN" -m pip install --user -r "$REQUIREMENTS_FILE"
|
|
fi
|
|
|
|
cd "$REPO_ROOT"
|
|
exec "$PYTHON_BIN" "$PYTHON_SCRIPT"
|