Kapitel 13/Tutorial.md aktualisiert

This commit is contained in:
2025-09-03 15:08:37 +00:00
parent 1336f58040
commit c6f9cfd456

View File

@@ -775,33 +775,52 @@ In diesem Schritt erstellen wir den eigentlichen Workflow in **n8n**. Er sorgt d
source "$CONF" source "$CONF"
VOD_ID="${1:?need VOD id}" VOD_ID="${1:?need VOD id}"
FILE_BASENAME="${2:-${VOD_ID}.mp4}"
# ---- Eingaben & Pfade
DROP_BASE="${DROP_BASE:?DROP_BASE fehlt in Config}"
NC_DATA="${NC_DATA:?NC_DATA fehlt in Config}"
NC_USER="${NC_USER:?NC_USER fehlt in Config}"
NC_TARGET_SUBPATH="${NC_TARGET_SUBPATH:?NC_TARGET_SUBPATH fehlt in Config}"
PHP="${PHP:-/usr/bin/php}"
OCC="${OCC:-/var/www/nextcloud/occ}"
SRC_DIR="${DROP_BASE}/${VOD_ID}" SRC_DIR="${DROP_BASE}/${VOD_ID}"
SRC_FILE="${SRC_DIR}/${FILE_BASENAME}" DST_BASE="${NC_DATA}/${NC_USER}/files"
DST_DIR="${NC_DATA}/${NC_USER}/files/${NC_TARGET_SUBPATH}/${VOD_ID}" DST_DIR="${DST_BASE}/${NC_TARGET_SUBPATH}/${VOD_ID}"
SCAN_PATH="${NC_USER}/files/${NC_TARGET_SUBPATH}/${VOD_ID}" SCAN_PATH="${NC_USER}/files/${NC_TARGET_SUBPATH}/${VOD_ID}"
# ---- Vorbedingungen prüfen (wir legen KEINE Benutzerstruktur an!)
[[ -d "$NC_DATA" ]] || { echo "NC_DATA nicht gefunden: $NC_DATA" >&2; exit 2; }
[[ -d "$DST_BASE" ]] || { echo "Benutzerdateien fehlen: $DST_BASE (stimmt NC_USER/NC_DATA?)" >&2; exit 3; }
[[ -d "$SRC_DIR" ]] || { echo "Drop-Ordner fehlt: $SRC_DIR" >&2; exit 4; }
# ---- Ziel-Unterordner anlegen (falls nicht vorhanden)
mkdir -p "$DST_DIR" mkdir -p "$DST_DIR"
if [[ -d "$SRC_DIR" ]]; then # ---- Dateien/Ordner verschieben
# kompletter VOD-Ordner vorhanden → verschiebe Inhalt (oder Ordner, falls leer)
shopt -s nullglob dotglob shopt -s nullglob dotglob
if compgen -G "${SRC_DIR}/*" > /dev/null; then had_files=false
mv -f "${SRC_DIR}/"* "$DST_DIR"/ for f in "${SRC_DIR}/"*; do
fi had_files=true
mv -f "$f" "$DST_DIR/"
done
# leeren Drop-Ordner entfernen (optional)
rmdir "$SRC_DIR" 2>/dev/null || true rmdir "$SRC_DIR" 2>/dev/null || true
elif [[ -f "$SRC_FILE" ]]; then shopt -u nullglob dotglob
mv -f "$SRC_FILE" "$DST_DIR"/
else if [[ "$had_files" = false ]]; then
echo "Quelle nicht gefunden: $SRC_DIR oder $SRC_FILE" >&2 echo "Keine Dateien in Drop-Ordner: ${SRC_DIR}" >&2
exit 2 exit 5
fi fi
# ---- Rechte setzen wie von Nextcloud erwartet
chown -R www-data:www-data "$DST_DIR" chown -R www-data:www-data "$DST_DIR"
# ---- Index nur für diesen Pfad aktualisieren
"$PHP" "$OCC" files:scan --path="$SCAN_PATH" --quiet "$PHP" "$OCC" files:scan --path="$SCAN_PATH" --quiet
echo "OK: ${DST_DIR}" echo "OK: $(printf '%s\n' "$DST_DIR")"
``` ```
Wie zuvor auch, müssen wir die Rechte korrekt setzen, damit alles reibungslos funktioniert. Wie zuvor auch, müssen wir die Rechte korrekt setzen, damit alles reibungslos funktioniert.
Gebe dazu in der Konsole Gebe dazu in der Konsole