#!/usr/bin/env bash set -euo pipefail PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" LOCAL_DEFAULT_PYTHON="$PROJECT_DIR/.venv/bin/python" LEGACY_DEFAULT_PYTHON="$PROJECT_DIR/../.venv/bin/python" PYTHON_BIN="${BILIUP_NEXT_PYTHON:-$LOCAL_DEFAULT_PYTHON}" if [[ ! -x "$PYTHON_BIN" ]]; then if [[ -x "$LEGACY_DEFAULT_PYTHON" ]]; then PYTHON_BIN="$LEGACY_DEFAULT_PYTHON" else PYTHON_BIN="${BILIUP_NEXT_PYTHON:-python3}" fi fi cd "$PROJECT_DIR" export PYTHONPATH="$PROJECT_DIR/src" LOG_DIR="$PROJECT_DIR/runtime/logs" LOG_FILE="$LOG_DIR/api.log" mkdir -p "$LOG_DIR" LOG_MAX_BYTES="${BILIUP_NEXT_LOG_MAX_BYTES:-20971520}" LOG_BACKUPS="${BILIUP_NEXT_LOG_BACKUPS:-5}" echo "[$(date '+%Y-%m-%d %H:%M:%S %z')] starting biliup-next api" | "$PROJECT_DIR/scripts/log-tee.sh" "$LOG_FILE" "$LOG_MAX_BYTES" "$LOG_BACKUPS" "$PYTHON_BIN" -u -m biliup_next.app.cli serve \ --host "${BILIUP_NEXT_API_HOST:-0.0.0.0}" \ --port "${BILIUP_NEXT_API_PORT:-8787}" \ 2>&1 | "$PROJECT_DIR/scripts/log-tee.sh" "$LOG_FILE" "$LOG_MAX_BYTES" "$LOG_BACKUPS"