#!/bin/sh DATA=/var/www/html/data BELEGE="$DATA/belege" LOGO="$DATA/logo" LEGACY="$DATA/legacy-uploads" WEBROOT_UPLOADS=/var/www/html/public/static/uploads mkdir -p "$BELEGE" "$LOGO" 2>/dev/null || true # ── Einmalige Übernahme von Altbeständen ──────────────────────────────────── # Belege und Logo lagen früher gemeinsam in einem uploads-Verzeichnis (bzw. davor # im Web-Root). Beide Fälle werden hier automatisch übernommen, damit ein reines # "git pull + docker compose up" (z.B. über scripts/update.sh) nicht in einer # Installation endet, deren Dateien nicht mehr gefunden werden. # Idempotent: Nach dem Umzug sind die Quellverzeichnisse leer. # Logo aus dem alten Web-Root (Stand vor Fix #116) if [ -d "$WEBROOT_UPLOADS/logo" ]; then for f in "$WEBROOT_UPLOADS"/logo/*; do [ -e "$f" ] || continue echo "Migration: $(basename "$f") aus dem Web-Root -> data/logo/" mv "$f" "$LOGO/" 2>/dev/null || true done rmdir "$WEBROOT_UPLOADS/logo" 2>/dev/null || true fi # Gemeinsame uploads-Ablage (Stand nach #116, vor der Trennung in belege/logo) if [ -d "$LEGACY" ] && [ -n "$(ls -A "$LEGACY" 2>/dev/null)" ]; then echo "Migration: Altbestand aus uploads/ wird übernommen..." # Logo zuerst, damit es nicht als Beleg mitwandert if [ -d "$LEGACY/logo" ]; then for f in "$LEGACY"/logo/*; do [ -e "$f" ] || continue echo " Logo: $(basename "$f") -> data/logo/" mv "$f" "$LOGO/" 2>/dev/null || true done rmdir "$LEGACY/logo" 2>/dev/null || true fi for entry in "$LEGACY"/*; do [ -e "$entry" ] || continue echo " Beleg: $(basename "$entry") -> data/belege/" mv "$entry" "$BELEGE/" 2>/dev/null || true done echo "Migration: Altbestand übernommen." fi # Fix ownership of volume-mounted data directories at container start chown -R www-data:www-data "$BELEGE" "$LOGO" 2>/dev/null || true # Datenbank-Migrationen automatisch einspielen php /var/www/html/scripts/migrate.php exec "$@"