#!/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 </dev/null 2>&1; then docker "$@" return fi if command -v sudo >/dev/null 2>&1 && sudo docker info >/dev/null 2>&1; then sudo docker "$@" return fi echo "Docker niet gevonden of geen rechten. Draai als root (Synology: sudo -i)." exit 1 } if ! command -v docker >/dev/null 2>&1 && ! command -v sudo >/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_cmd ps -a --format '{{.Names}}' | grep -qx "$CONTAINER"; then echo "Container herstarten..." docker_cmd restart "$CONTAINER" >/dev/null echo "Klaar. Controleer versie in Admin → Nodes (verwacht ${MEDIA_NODE_VERSION:-1.3.9}+)." else echo "Waarschuwing: container '$CONTAINER' niet gevonden — binary is wel bijgewerkt." fi