diff --git a/Kapitel 6/Tutorial.md b/Kapitel 6/Tutorial.md index 649f491..5aa9e28 100644 --- a/Kapitel 6/Tutorial.md +++ b/Kapitel 6/Tutorial.md @@ -61,64 +61,64 @@ Du siehst den Benutzer `vaultwarden` und die Ordner existieren. --- -## 2) Vaultwarden herunterladen (robust & sicher) +## 2) Vaultwarden herunterladen (einfach & stabil) -Wir laden **immer die neueste stabile Release** passend zu deiner **CPU‑Architektur** – automatisch und mit Fehlerschutz. +### Architektur ermitteln (falls unklar) + +So findest du heraus, welche der drei Download‑Zeilen du brauchst. + +**Im Container:** ```bash -set -Eeuo pipefail - -# Architektur → passender Dateiname der Release-Asset -case "$(dpkg --print-architecture)" in - amd64) ASSET="vaultwarden-*-x86_64-unknown-linux-gnu.tar.gz" ;; - arm64) ASSET="vaultwarden-*-aarch64-unknown-linux-gnu.tar.gz" ;; - armhf|armel) ASSET="vaultwarden-*-armv7-unknown-linux-gnueabihf.tar.gz" ;; - *) echo "❌ Nicht unterstützte Architektur: $(dpkg --print-architecture)" >&2; exit 1 ;; - esac - -# jq für zuverlässiges JSON-Parsing (klein, darf wieder entfernt werden) -apt install -y jq >/dev/null - -# 1) Download-URL der neuesten stabilen Release exakt ermitteln -VW_URL=$(curl -fsSL https://api.github.com/repos/dani-garcia/vaultwarden/releases/latest \ - | jq -r --arg pat "$ASSET" '.assets[] | select(.name | test($pat)) | .browser_download_url' \ - | head -n1) - -if [ -z "${VW_URL}" ]; then - echo "❌ Konnte die Download-URL nicht ermitteln. Prüfe Internet/DNS/GitHub-API-Limit." >&2 - echo "ℹ️ Alternativ: Öffne die Release-Seite im Browser und kopiere den Link der Datei $ASSET." >&2 - exit 1 -fi - -echo "→ Lade: $VW_URL" - -# 2) Archiv laden und entpacken -curl -fL "$VW_URL" -o /tmp/vaultwarden.tar.gz -mkdir -p /tmp/vw - tar -xzf /tmp/vaultwarden.tar.gz -C /tmp/vw - -# 3) Programmdatei nach /opt verschieben -install -m 0755 /tmp/vw/vaultwarden /opt/vaultwarden/vaultwarden - -# Optional: Checksumme anzeigen (mit der Release-Seite vergleichen) -sha256sum /tmp/vaultwarden.tar.gz | awk '{print "SHA256:", $1}' +uname -m # liefert z. B. x86_64, aarch64, armv7l +dpkg --print-architecture # liefert z. B. amd64, arm64, armhf ``` -**Erfolgskontrolle** +**Vom Proxmox‑Host (ohne in den CT zu gehen):** ```bash +# CTID aus der GUI (z. B. 106) +pct exec -- uname -m +pct exec -- dpkg --print-architecture +``` + +**Zuordnung:** + +* `x86_64` / `amd64` → AMD64‑Zeile verwenden +* `aarch64` / `arm64` → ARM64‑Zeile verwenden +* `armv7l` / `armhf` → ARMv7‑Zeile verwenden + +Wir nutzen die offizielle **`releases/latest/download`**‑Adresse von GitHub. Wähle **genau eine** der folgenden Zeilen passend zu deiner CPU und führe sie aus. Keine Variablen, kein jq. + +**AMD64 / x86\_64 (typisch Proxmox/Debian auf Intel/AMD):** + +```bash +curl -fL https://github.com/dani-garcia/vaultwarden/releases/latest/download/vaultwarden-x86_64-unknown-linux-gnu.tar.gz -o /tmp/vaultwarden.tar.gz +``` + +**ARM64 (z. B. Raspberry Pi 4/5):** + +```bash +curl -fL https://github.com/dani-garcia/vaultwarden/releases/latest/download/vaultwarden-aarch64-unknown-linux-gnu.tar.gz -o /tmp/vaultwarden.tar.gz +``` + +**ARMv7:** + +```bash +curl -fL https://github.com/dani-garcia/vaultwarden/releases/latest/download/vaultwarden-armv7-unknown-linux-gnueabihf.tar.gz -o /tmp/vaultwarden.tar.gz +``` + +**Entpacken & installieren:** + +```bash +mkdir -p /tmp/vw +# Wenn der Download fehlschlug, zeigt die nächste Zeile eine Fehlermeldung – dann die passende curl-Zeile oben erneut ausführen +.tar -xzf /tmp/vaultwarden.tar.gz -C /tmp/vw 2>/dev/null || echo "Download prüfen: /tmp/vaultwarden.tar.gz fehlt oder ist beschädigt" +install -m 0755 /tmp/vw/vaultwarden /opt/vaultwarden/vaultwarden /opt/vaultwarden/vaultwarden --version ``` -Du siehst die **Version** der frisch installierten Release. - -**Warum diese Variante?** - -* Wählt die **richtige Architektur** automatisch aus (x86\_64/arm64/armv7). -* Nutzt die **offizielle GitHub‑API** mit **sauberem Parsing** (jq), keine fragilen `grep`‑Spielereien. -* Bricht bei Fehlern **sofort** ab (`set -e`), damit kein halbfertiges Setup entsteht. - -> 🆙 **Späteres Update:** Diesen Block erneut ausführen (er lädt die aktuelle Release) und danach `systemctl restart vaultwarden`. Wenn sich die Oberfläche/Optionen geändert haben, ergänzen wir einen Hinweis im Video und aktualisieren den Post. +> Hinweis: Falls GitHub kurzzeitig begrenzt, warte 1–2 Minuten und wiederhole **nur** die `curl`‑Zeile. ---