d832f90ad6
Graph: reagraph (three.js, schwer, hing Renderer) → Sigma.js v3 + graphology (graph-optimiertes WebGL, skaliert auf tausende Knoten), im App-Look: Kategorie-Farben, Knotengröße nach Verknüpfungen, Hover-Highlight (Nachbarn hervor, Rest dimmt), Legende. Liste ist jetzt Default + nach Kategorie gruppierte Sektionen (statt flacher Wand). reagraph deinstalliert → leichteres Bundle. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
34 lines
1.3 KiB
Bash
Executable File
34 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Aktualisiert den llama-swap-Router (mostlygeek/llama-swap) auf den neuesten Release.
|
|
# Wird vom MC2-„Router Update"-Button via `sudo bash …` als ROOT aufgerufen
|
|
# (deshalb KEIN internes sudo). Ersetzt die Binary und startet llama-swap neu.
|
|
set -euo pipefail
|
|
|
|
SWAP_BIN="${MC_SWAP_BIN:-/usr/local/bin/llama-swap}"
|
|
PIN_VER="${MC_SWAP_VERSION:-}" # leer = neuester Release
|
|
|
|
if [ -n "$PIN_VER" ]; then
|
|
TAG="$PIN_VER"
|
|
else
|
|
TAG="$(curl -s https://api.github.com/repos/mostlygeek/llama-swap/releases/latest | jq -r .tag_name)"
|
|
fi
|
|
[ -n "$TAG" ] && [ "$TAG" != "null" ] || { echo "Konnte neuesten Release-Tag nicht ermitteln"; exit 1; }
|
|
|
|
# Asset-Name nutzt die nackte Nummer (z.B. v230 -> 230): llama-swap_230_linux_amd64.tar.gz
|
|
NUM="${TAG#v}"
|
|
ASSET="llama-swap_${NUM}_linux_amd64.tar.gz"
|
|
URL="https://github.com/mostlygeek/llama-swap/releases/download/${TAG}/${ASSET}"
|
|
TMP="$(mktemp -d)"
|
|
trap 'rm -rf "$TMP"' EXIT
|
|
|
|
echo "Lade llama-swap ${TAG} …"
|
|
curl -fsSL -o "$TMP/s.tgz" "$URL"
|
|
tar xzf "$TMP/s.tgz" -C "$TMP"
|
|
NEW="$(find "$TMP" -type f -name llama-swap | head -1)"
|
|
[ -n "$NEW" ] || { echo "llama-swap-Binary im Archiv nicht gefunden"; exit 1; }
|
|
install -m 0755 "$NEW" "$SWAP_BIN"
|
|
test -x "$SWAP_BIN"
|
|
|
|
systemctl restart llama-swap
|
|
echo "Router aktualisiert auf ${TAG} und llama-swap neugestartet."
|