Files
local_yandex_station/start.sh

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"