#!/bin/sh FULLS_DIR="/app/public/images/fulls" THUMBS_DIR="/app/public/images/thumbs" # Thumbnails fuer einen Quell- und Zielordner generieren generate_thumbs_for_dir() { src_dir="$1" dst_dir="$2" mkdir -p "$dst_dir" for img in "$src_dir"/*; do [ -f "$img" ] || continue filename=$(basename "$img") ext=$(echo "${filename##*.}" | tr '[:upper:]' '[:lower:]') case "$ext" in jpg|jpeg|png|gif|webp) ;; *) continue ;; esac if [ ! -f "$dst_dir/$filename" ] || [ "$img" -nt "$dst_dir/$filename" ]; then echo "Thumbnail erstellen: $dst_dir/$filename" convert "$img" -resize 512x512 -quality 80 "$dst_dir/$filename" 2>/dev/null fi done } generate_all_thumbs() { # Root-Bilder generate_thumbs_for_dir "$FULLS_DIR" "$THUMBS_DIR" # Unterordner (Kunden-Ordner) for dir in "$FULLS_DIR"/*/; do [ -d "$dir" ] || continue foldername=$(basename "$dir") generate_thumbs_for_dir "$dir" "$THUMBS_DIR/$foldername" done } echo "=== Mischkomposition - Starte Thumbnail-Generierung ===" generate_all_thumbs echo "=== Thumbnail-Generierung abgeschlossen ===" # Hintergrund-Prozess: Alle 60 Sekunden nach neuen Bildern suchen (while true; do sleep 60 generate_all_thumbs done) & # Node Server starten cd /app && node backend/server.js