34 lines
894 B
Bash
Executable File
34 lines
894 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
BASE_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
cd "$BASE_DIR"
|
|
|
|
if [[ ! -d .venv ]]; then
|
|
python3 -m venv .venv
|
|
fi
|
|
|
|
# shellcheck disable=SC1091
|
|
source .venv/bin/activate
|
|
python3 -c "import aiohttp, zeroconf" >/dev/null 2>&1 || {
|
|
echo "Missing deps in .venv. Run install.sh"
|
|
exit 3
|
|
}
|
|
|
|
TOKEN="${YANDEX_TOKEN:-}"
|
|
if [[ -z "$TOKEN" && -f "$BASE_DIR/token.txt" ]]; then
|
|
TOKEN="$(tr -d '
|
|
' < "$BASE_DIR/token.txt")"
|
|
fi
|
|
|
|
if [[ -z "$TOKEN" ]]; then
|
|
echo "YANDEX_TOKEN is empty and token.txt not found"
|
|
exit 2
|
|
fi
|
|
|
|
BIND_HOST="${YASTATION_BIND_HOST:-127.0.0.1}"
|
|
BIND_PORT="${YASTATION_BIND_PORT:-9123}"
|
|
HTTP_HOST="${YASTATION_HTTP_HOST:-0.0.0.0}"
|
|
HTTP_PORT="${YASTATION_HTTP_PORT:-9124}"
|
|
|
|
exec "$BASE_DIR/.venv/bin/python3" "$BASE_DIR/yastation.py" --token "$TOKEN" serve --host "$BIND_HOST" --port "$BIND_PORT" --http-host "$HTTP_HOST" --http-port "$HTTP_PORT"
|