Installation per Einzeiler (curl | bash)
install/get.sh holt das Repository nach /usr/local/src/audiofy und startet install-server.sh bzw. install-player.sh; Eingaben kommen vom Terminal. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Executable
+50
@@ -0,0 +1,50 @@
|
||||
#!/usr/bin/env bash
|
||||
# Audiofy – Installation per Einzeiler (holt das Repository und startet das passende Install-Skript):
|
||||
#
|
||||
# curl -fsSL https://git.wind8000.de/0/audiofy/raw/branch/main/install/get.sh | bash -s -- server
|
||||
# curl -fsSL https://git.wind8000.de/0/audiofy/raw/branch/main/install/get.sh | bash -s -- player
|
||||
# … | bash -s -- server --update später aktualisieren (holt den neuesten Stand)
|
||||
#
|
||||
# Die Quellen liegen danach in /usr/local/src/audiofy. Andere Quelle/Zweig:
|
||||
# AUDIOFY_REPO=https://…/audiofy.git AUDIOFY_BRANCH=main
|
||||
set -euo pipefail
|
||||
|
||||
REPO="${AUDIOFY_REPO:-https://git.wind8000.de/0/audiofy.git}"
|
||||
ZWEIG="${AUDIOFY_BRANCH:-main}"
|
||||
QUELLE="${AUDIOFY_SRC:-/usr/local/src/audiofy}"
|
||||
|
||||
ROLLE="${1:-}"
|
||||
[ $# -gt 0 ] && shift
|
||||
case "$ROLLE" in
|
||||
server|player) ;;
|
||||
*) echo "Aufruf: curl -fsSL …/install/get.sh | bash -s -- server|player [--update]" >&2; exit 1 ;;
|
||||
esac
|
||||
|
||||
if [ "$(id -u)" -eq 0 ]; then SUDO=""; else
|
||||
command -v sudo >/dev/null || { echo "Bitte als root ausführen oder sudo installieren." >&2; exit 1; }
|
||||
SUDO="sudo"
|
||||
fi
|
||||
|
||||
echo "==> Audiofy-Quellen holen ($REPO, Zweig $ZWEIG)"
|
||||
if ! command -v git >/dev/null; then
|
||||
$SUDO apt-get update -qq
|
||||
$SUDO env DEBIAN_FRONTEND=noninteractive apt-get install -y -qq git >/dev/null
|
||||
fi
|
||||
if [ -d "$QUELLE/.git" ]; then
|
||||
$SUDO git -C "$QUELLE" fetch -q --depth 1 origin "$ZWEIG"
|
||||
$SUDO git -C "$QUELLE" reset -q --hard FETCH_HEAD
|
||||
else
|
||||
$SUDO install -d -m 755 "$(dirname "$QUELLE")"
|
||||
$SUDO git clone -q --depth 1 --branch "$ZWEIG" "$REPO" "$QUELLE"
|
||||
fi
|
||||
echo " Stand: $($SUDO git -C "$QUELLE" log -1 --format='%h %s')"
|
||||
|
||||
# Bei "curl | bash" ist die Standardeingabe das Skript selbst – Fragen müssen vom Terminal kommen.
|
||||
if { : </dev/tty; } 2>/dev/null; then
|
||||
exec bash "$QUELLE/install/install-$ROLLE.sh" "$@" </dev/tty
|
||||
elif [[ " $* " == *" --update "* ]]; then
|
||||
exec bash "$QUELLE/install/install-$ROLLE.sh" "$@" # Update fragt nichts
|
||||
else
|
||||
echo "Kein Terminal gefunden – die Installation braucht Eingaben. Bitte in einem Terminal ausführen." >&2
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user