From 66184325d6b7ef1c0c9d6761f2df4961a55ab4bc Mon Sep 17 00:00:00 2001 From: mboehmlaender Date: Mon, 9 Mar 2026 05:47:21 +0000 Subject: [PATCH] some pload --- deploy-ripster.sh | 2 -- install-dev.sh | 86 +++++++++++++++++++++++++++++++--------------- install.sh | 87 ++++++++++++++++++++++++++++++++++------------- 3 files changed, 122 insertions(+), 53 deletions(-) diff --git a/deploy-ripster.sh b/deploy-ripster.sh index 56aa6ee..acacaaa 100755 --- a/deploy-ripster.sh +++ b/deploy-ripster.sh @@ -31,8 +31,6 @@ sshpass -p "$SSH_PASSWORD" ssh $SSH_OPTS "${REMOTE_USER}@${REMOTE_HOST}" "set -e echo "Uebertrage lokalen Ordner ${LOCAL_PATH} nach ${REMOTE_TARGET} ..." echo "backend/data wird weder uebertragen noch auf dem Ziel geloescht: ${DATA_RELATIVE_DIR}" sshpass -p "$SSH_PASSWORD" rsync -az --progress --delete \ - --exclude "${DATA_RELATIVE_DIR}" \ - --filter "protect ${DATA_RELATIVE_DIR}" \ --filter "protect debug" \ -e "ssh $SSH_OPTS" \ "${LOCAL_PATH}/" "${REMOTE_TARGET}/" diff --git a/install-dev.sh b/install-dev.sh index dd509ed..4a9ed1b 100755 --- a/install-dev.sh +++ b/install-dev.sh @@ -134,16 +134,18 @@ install_makemkv() { libexpat1-dev libavcodec-dev libgl1-mesa-dev \ qtbase5-dev zlib1g-dev wget - # Aktuelle Version ermitteln - info "Ermittle aktuelle MakeMKV-Version..." + local makemkv_fallback="1.18.3" + info "Ermittle aktuelle MakeMKV-Version (forum.makemkv.com)..." local makemkv_version - makemkv_version=$(curl -s "https://www.makemkv.com/download/" \ - | grep -oP 'makemkv-oss-\K[0-9]+\.[0-9]+\.[0-9]+' | head -1 || true) + makemkv_version=$(curl -s --max-time 15 \ + "https://forum.makemkv.com/forum/viewtopic.php?f=3&t=224" \ + | grep -oP 'MakeMKV \K[0-9]+\.[0-9]+\.[0-9]+(?= for Linux)' | head -1 || true) if [[ -z "$makemkv_version" ]]; then - warn "MakeMKV-Version konnte nicht ermittelt werden." - warn "Bitte manuell installieren: https://www.makemkv.com/forum/viewtopic.php?t=224" - return + warn "MakeMKV-Version konnte nicht ermittelt werden – verwende Fallback $makemkv_fallback" + makemkv_version="$makemkv_fallback" + else + info "Gefundene Version: $makemkv_version" fi info "Baue MakeMKV $makemkv_version..." @@ -183,33 +185,63 @@ install_handbrake() { return fi + # Strategie 1: direkt aus den Distro-Repos (Ubuntu Universe / Debian) + info "Versuche HandBrake CLI aus den Standard-Repos..." + if apt-get install -y handbrake-cli 2>/dev/null; then + ok "HandBrakeCLI installiert (Standard-Repos)" + return + fi + case "$ID" in ubuntu) - info "Installiere HandBrake CLI über PPA..." - if ! grep -q "stebbins/handbrake" /etc/apt/sources.list.d/*.list 2>/dev/null; then - apt-get install -y software-properties-common - add-apt-repository -y ppa:stebbins/handbrake-releases + # Strategie 2 (Ubuntu < 24.04): PPA manuell per Key + Sources-Datei eintragen, + # ohne add-apt-repository (schlägt auf Noble mit 401 fehl). + local codename="${VERSION_CODENAME:-jammy}" + local ppa_sources="/etc/apt/sources.list.d/handbrake.list" + local ppa_key="/etc/apt/keyrings/handbrake.gpg" + + info "Füge HandBrake PPA manuell hinzu (${codename})..." + mkdir -p /etc/apt/keyrings + + if curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x8771ADB0816950D8" \ + | gpg --dearmor -o "$ppa_key" 2>/dev/null; then + cat > "$ppa_sources" </dev/null && \ + { ok "HandBrakeCLI installiert (PPA)"; return; } || \ + { warn "PPA-Installation fehlgeschlagen, räume auf..."; + rm -f "$ppa_key" "$ppa_sources"; } + else + warn "PPA-Key konnte nicht geladen werden." + fi + + # Strategie 3 (Ubuntu): snap + if command_exists snap; then + info "Versuche HandBrake via snap..." + if snap install handbrake-cli 2>/dev/null; then + ok "HandBrakeCLI installiert (snap)" + return + fi fi - apt-get install -y handbrake-cli ;; + debian) - info "Installiere HandBrake CLI (Debian Backports)..." - if ! grep -q "backports" /etc/apt/sources.list 2>/dev/null && \ - ! find /etc/apt/sources.list.d/ -name "*.list" -exec grep -l "backports" {} \; | grep -q .; then + # Strategie 2 (Debian): Backports + info "Versuche HandBrake CLI über Debian Backports..." + if ! find /etc/apt/sources.list.d/ -name "*.list" -exec grep -l "backports" {} \; 2>/dev/null | grep -q .; then echo "deb http://deb.debian.org/debian ${VERSION_CODENAME}-backports main" \ > /etc/apt/sources.list.d/backports.list apt_update fi - apt-get install -y -t "${VERSION_CODENAME}-backports" handbrake-cli 2>/dev/null || \ - apt-get install -y handbrake-cli 2>/dev/null || { - warn "HandBrake CLI konnte nicht über Backports installiert werden." - warn "Bitte manuell installieren: https://handbrake.fr/downloads2.php" - return - } + apt-get install -y -t "${VERSION_CODENAME}-backports" handbrake-cli 2>/dev/null && \ + { ok "HandBrakeCLI installiert (Backports)"; return; } ;; esac - ok "HandBrakeCLI installiert" + + warn "HandBrake CLI konnte nicht automatisch installiert werden." + warn "Bitte manuell installieren: https://handbrake.fr/downloads2.php" } # --- apt-Hilfsfunktionen ------------------------------------------------------ @@ -404,11 +436,11 @@ header "Frontend bauen" info "Baue Frontend für $FRONTEND_HOST..." -# Env-Datei für den Build erstellen -cat > "$INSTALL_DIR/frontend/.env.production.local" </dev/null; then + ok "HandBrakeCLI installiert (Standard-Repos)" + return + fi + case "$ID" in ubuntu) - info "Installiere HandBrake CLI über PPA..." - apt-get install -y software-properties-common - add-apt-repository -y ppa:stebbins/handbrake-releases - apt_update - apt-get install -y handbrake-cli + # Strategie 2 (Ubuntu < 24.04): PPA manuell per Key + Sources-Datei eintragen, + # ohne add-apt-repository (schlägt auf Noble mit 401 fehl). + local codename="${VERSION_CODENAME:-jammy}" + local ppa_sources="/etc/apt/sources.list.d/handbrake.list" + local ppa_key="/etc/apt/keyrings/handbrake.gpg" + + info "Füge HandBrake PPA manuell hinzu (${codename})..." + mkdir -p /etc/apt/keyrings + + if curl -fsSL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x8771ADB0816950D8" \ + | gpg --dearmor -o "$ppa_key" 2>/dev/null; then + cat > "$ppa_sources" </dev/null && \ + { ok "HandBrakeCLI installiert (PPA)"; return; } || \ + { warn "PPA-Installation fehlgeschlagen, räume auf..."; + rm -f "$ppa_key" "$ppa_sources"; } + else + warn "PPA-Key konnte nicht geladen werden." + fi + + # Strategie 3 (Ubuntu): snap + if command_exists snap; then + info "Versuche HandBrake via snap..." + if snap install handbrake-cli 2>/dev/null; then + ok "HandBrakeCLI installiert (snap)" + return + fi + fi ;; + debian) - info "Installiere HandBrake CLI (Debian Backports)..." + # Strategie 2 (Debian): Backports + info "Versuche HandBrake CLI über Debian Backports..." if ! find /etc/apt/sources.list.d/ -name "*.list" -exec grep -l "backports" {} \; 2>/dev/null | grep -q .; then echo "deb http://deb.debian.org/debian ${VERSION_CODENAME}-backports main" \ > /etc/apt/sources.list.d/backports.list apt_update fi - apt-get install -y -t "${VERSION_CODENAME}-backports" handbrake-cli 2>/dev/null || \ - apt-get install -y handbrake-cli 2>/dev/null || { - warn "HandBrake CLI konnte nicht installiert werden." - warn "Bitte manuell installieren: https://handbrake.fr/downloads2.php" - return - } + apt-get install -y -t "${VERSION_CODENAME}-backports" handbrake-cli 2>/dev/null && \ + { ok "HandBrakeCLI installiert (Backports)"; return; } ;; esac - ok "HandBrakeCLI installiert" + + warn "HandBrake CLI konnte nicht automatisch installiert werden." + warn "Bitte manuell installieren: https://handbrake.fr/downloads2.php" } # --- apt-Hilfsfunktionen ------------------------------------------------------ @@ -401,10 +439,11 @@ header "Frontend bauen" info "Baue Frontend für $FRONTEND_HOST..." -cat > "$INSTALL_DIR/frontend/.env.production.local" <