Survive IMDb unique conflicts during movie matching, log per-file sync errors, add library lookup diagnostic, and ship upgrade-node.sh plus Admin upgrade button for Unraid/Synology nodes still on 1.2.9.
67 lines
1.9 KiB
Bash
67 lines
1.9 KiB
Bash
#!/bin/bash
|
|
# Upgrade media-node binary (download latest from Master + restart container).
|
|
set -euo pipefail
|
|
|
|
MASTER_URL="${MASTER_URL:-__MASTER_PUBLIC_URL__}"
|
|
APPDATA="${APPDATA:-/mnt/user/appdata/media-node}"
|
|
CONTAINER="${CONTAINER:-media-node}"
|
|
|
|
usage() {
|
|
cat <<EOF
|
|
Gebruik:
|
|
curl -fsSL ${MASTER_URL}/install/upgrade-node.sh | bash -s -- --appdata=/mnt/user/appdata/media-node
|
|
|
|
Opties:
|
|
--appdata= Appdata-map met bin/media-node (Unraid: /mnt/user/appdata/media-node, Synology: /volume1/docker/media-node)
|
|
--container= Docker-containernaam (default: media-node)
|
|
--master= Master-URL (default: ${MASTER_URL})
|
|
EOF
|
|
}
|
|
|
|
for arg in "$@"; do
|
|
case "$arg" in
|
|
--appdata=*) APPDATA="${arg#*=}" ;;
|
|
--container=*) CONTAINER="${arg#*=}" ;;
|
|
--master=*) MASTER_URL="${arg#*=}" ;;
|
|
-h|--help) usage; exit 0 ;;
|
|
*) echo "Onbekende optie: $arg"; usage; exit 1 ;;
|
|
esac
|
|
done
|
|
|
|
MASTER_URL="$(echo -n "$MASTER_URL" | sed 's:/*$::')"
|
|
APPDATA="$(echo -n "$APPDATA" | tr -d '\r\n')"
|
|
|
|
if ! command -v docker >/dev/null 2>&1; then
|
|
echo "Docker niet gevonden."
|
|
exit 1
|
|
fi
|
|
|
|
ARCH="$(uname -m)"
|
|
case "$ARCH" in
|
|
x86_64|amd64) BIN_NAME="media-node-linux-amd64" ;;
|
|
aarch64|arm64) BIN_NAME="media-node-linux-arm64" ;;
|
|
*) echo "Niet-ondersteunde architectuur: $ARCH"; exit 1 ;;
|
|
esac
|
|
|
|
BIN_DIR="$APPDATA/bin"
|
|
BIN_PATH="$BIN_DIR/media-node"
|
|
mkdir -p "$BIN_DIR"
|
|
|
|
echo "=== media-node upgrade ==="
|
|
echo "Master: $MASTER_URL"
|
|
echo "Binary: $BIN_PATH"
|
|
echo "Container: $CONTAINER"
|
|
echo
|
|
|
|
echo "Downloaden ($BIN_NAME)..."
|
|
curl -fsSL "$MASTER_URL/install/$BIN_NAME" -o "$BIN_PATH.new"
|
|
chmod +x "$BIN_PATH.new"
|
|
mv "$BIN_PATH.new" "$BIN_PATH"
|
|
|
|
if docker ps -a --format '{{.Names}}' | grep -qx "$CONTAINER"; then
|
|
echo "Container herstarten..."
|
|
docker restart "$CONTAINER" >/dev/null
|
|
echo "Klaar. Controleer versie in Admin → Nodes (verwacht 1.3.2+)."
|
|
else
|
|
echo "Waarschuwing: container '$CONTAINER' niet gevonden — binary is wel bijgewerkt."
|
|
fi
|