From 426d101160458620a97d294a735b232383d98d73 Mon Sep 17 00:00:00 2001 From: "manuel.maier" Date: Wed, 6 Aug 2025 00:01:45 +0200 Subject: [PATCH] reinstall_newt.sh aktualisiert --- reinstall_newt.sh | 84 ++++++++++++++--------------------------------- 1 file changed, 25 insertions(+), 59 deletions(-) diff --git a/reinstall_newt.sh b/reinstall_newt.sh index d23f162..3e8e6cd 100644 --- a/reinstall_newt.sh +++ b/reinstall_newt.sh @@ -1,79 +1,52 @@ #!/bin/bash set -e -GREEN='\033[0;32m' -YELLOW='\033[1;33m' -RED='\033[0;31m' -NC='\033[0m' - REPO="fosrl/newt" INSTALL_DIR="/opt/newt" SERVICE_NAME="PVE-MGNT" SYMLINK="${INSTALL_DIR}/newt_latest" SERVICE_FILE="/etc/systemd/system/${SERVICE_NAME}.service" -info() { echo -e "${GREEN}[INFO]${NC} $1"; } -warn() { echo -e "${YELLOW}[WARN]${NC} $1"; } -error() { echo -e "${RED}[ERROR]${NC} $1"; } +info() { echo -e "\033[0;32m[INFO]\033[0m $1"; } +error() { echo -e "\033[0;31m[ERROR]\033[0m $1"; exit 1; } get_latest_version() { curl -fsSL "https://api.github.com/repos/${REPO}/releases/latest" | grep -Po '"tag_name": *"\K[^"]+' } download_newt() { - version="$1" - arch=$(uname -m) - - echo "[DEBUG] download_newt aufgerufen mit Version=$version" - echo "[DEBUG] Architektur erkannt: $arch" + local version="$1" + local arch=$(uname -m) + local file="" case "$arch" in x86_64) file="newt_linux_amd64" ;; aarch64) file="newt_linux_arm64" ;; armv7l) file="newt_linux_arm32" ;; - *) error "Nicht unterstützte Architektur: $arch" && exit 1 ;; + *) error "Nicht unterstützte Architektur: $arch" ;; esac - url="https://github.com/${REPO}/releases/download/${version}/${file}" - target="${INSTALL_DIR}/newt_${version}" - temp_target="${target}.tmp" - + local url="https://github.com/${REPO}/releases/download/${version}/${file}" + local target="${INSTALL_DIR}/newt_${version}" mkdir -p "$INSTALL_DIR" - info "⬇️ Lade $url herunter …" - curl -fsSL "$url" -o "$temp_target" || { error "Download fehlgeschlagen."; rm -f "$temp_target"; exit 1; } - chmod +x "$temp_target" - mv "$temp_target" "$target" + info "⬇️ Lade $url herunter …" + curl -fsSL "$url" -o "${target}.tmp" || error "Download fehlgeschlagen." + chmod +x "${target}.tmp" + mv "${target}.tmp" "$target" ln -sf "$target" "$SYMLINK" info "✅ newt ${version} installiert als ${target}" } -cleanup_old_versions() { - echo "[DEBUG] cleanup_old_versions aufgerufen" - cd "$INSTALL_DIR" - keep=$(readlink -f newt_latest) - versions=($(ls -1 newt_* | grep -v latest | sort -Vr)) - count=0 - for ver in "${versions[@]}"; do - if [[ "$(readlink -f "$ver")" != "$keep" ]]; then - ((count++)) - if [ "$count" -gt 1 ]; then - info "🧹 Entferne alte Version: $ver" - rm -f "$ver" - fi - fi - done -} - setup_systemd_service() { - # Erzwinge interaktive Eingabe über das Terminal - exec < /dev/tty + echo "🆔 Bitte gib die Pangolin-ID ein: " + read -r PANGOLIN_ID + echo "🔑 Bitte gib das Secret ein: " + read -r PANGOLIN_SECRET + echo "🌐 Bitte gib den Endpoint (z. B. https://pangolin.domain.de) ein: " + read -r PANGOLIN_ENDPOINT - read -rp "🆔 Bitte gib die Pangolin-ID ein: " PANGOLIN_ID - read -rp "🔑 Bitte gib das Secret ein: " PANGOLIN_SECRET - read -rp "🌐 Bitte gib den Endpoint (z. B. https://pangolin.domain.de) ein: " PANGOLIN_ENDPOINT - - cat < "$SERVICE_FILE" + cat > "$SERVICE_FILE" <