Ctrl K
ComunidadGuías…

update.sh

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
#!/bin/sh
# Nupplo (früher Brickfolio) aktualisieren (ohne git, z. B. auf Synology).
# Aufruf im Projektordner:  sudo bash update.sh
#
# Zwei Betriebsarten, das Skript erkennt sie selbst:
#   image: …  -> fertiges Image nachziehen (schnell, kein Quellcode nötig)
#   build: .  -> Quellcode holen und selbst bauen (wie bisher)
set -e
cd "$(dirname "$0")"

if [ ! -f docker-compose.yml ]; then
  echo "Keine docker-compose.yml gefunden – bitte im Nupplo-Ordner ausführen."
  exit 1
fi

# `sudo` bringt seinen eigenen, kurzen PATH mit (secure_path). Auf Synology
# liegt docker unter /usr/local/bin und fällt da heraus. Genau der in dieser
# Datei dokumentierte Weg – `sudo bash update.sh` – lief deshalb bis zum
# letzten Schritt durch, tauschte den Quellstand auf der Platte aus und
# scheiterte erst dann. Der alte Container lief weiter: Auf der Platte der
# neue Stand, im Betrieb der alte, und die Meldung dazu stand in Zeile 30
# einer sonst erfolgreich aussehenden Ausgabe.
for verzeichnis in /usr/local/bin /usr/bin /bin; do
  case ":$PATH:" in
    *":$verzeichnis:"*) ;;
    *) PATH="$PATH:$verzeichnis" ;;
  esac
done
export PATH

# Lieber hier abbrechen als nach dem Austausch des Quellstands: Ein Abbruch
# vor dem ersten Schreiben lässt die Instanz genau so zurück, wie sie war.
if ! command -v docker >/dev/null 2>&1; then
  echo "docker nicht gefunden (PATH: $PATH)."
  echo "Auf Synology liegt es unter /usr/local/bin – dort nachsehen und den"
  echo "Pfad ergänzen. Es wurde noch nichts verändert."
  exit 1
fi

if [ -f data/brickfolio.db ]; then
  cp data/brickfolio.db "data/pre-update-$(date +%Y%m%d-%H%M%S).db"
  ls -t data/pre-update-*.db 2>/dev/null | tail -n +4 | xargs -r rm --
  echo "Datenbank-Schnappschuss angelegt (die letzten 3 werden aufbewahrt)."
fi

if grep -qE '^[[:space:]]*image:[[:space:]]*ghcr\.io/' docker-compose.yml; then
  echo "Hole das aktuelle Image …"
  docker compose pull
  docker compose up -d
else
  echo "Hole aktuellen Stand von GitHub …"
  curl -sL https://github.com/Melle79/nupplo/archive/refs/heads/main.tar.gz | tar xz --strip-components=1
  echo "Baue und starte den Container …"
  docker compose up -d --build
fi

echo "Fertig – Nupplo ist auf dem neuesten Stand. 🧱"