56 lines
2.1 KiB
Bash
56 lines
2.1 KiB
Bash
#!/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 "$@"
|