Lokales Asset-Processing-Tool (PHP 8.2 + Apache + Docker) für Upload, Workflow-basierte Bildausgabe und ZIP-Export.
- Upload von Bildern (JPG, PNG, WEBP, SVG)
- Workflow-Verarbeitung über
src/workflows.json - Metadaten/Logs pro Asset in
output/<slug>/meta.json - ZIP-Download generierter Sets
- CSRF-Schutz für POST-Requests
- Path-Traversal-Schutz in
detail.php/delete.php - Upload-Whitelist (Extension + MIME) + 10MB Limit
- Session-basiertes Rate-Limiting für Upload/Workflow-Run
- Security-Header, CSP und Listing-Block via
.htaccess - Konsolidierte Konfiguration in
src/config.php - Siehe auch:
SECURITY.md
- Docker + Docker Compose
docker compose up --buildDann im Browser öffnen:
- Asset hochladen
- In der Übersicht auf Upload New klicken.
- Bild auswählen und optional Domain/Projekt sowie Beschreibung setzen.
- Upload mit Asset Speichern abschicken.
- Workflow ausführen
- In der Übersicht beim Asset auf Edit & Export klicken.
- Gewünschten Workflow starten.
- Generierte Dateien in der Output-Pipeline prüfen oder als ZIP herunterladen.
- Asset löschen
- In der Übersicht den Papierkorb-Button verwenden.
- Löschung läuft als CSRF-geschützter POST-Request mit Bestätigung.
src/index.php– Übersichtsrc/upload.php– Upload + Domain-Zuordnungsrc/detail.php– Workflow-Run + Exportsrc/delete.php– Löschen von Asset + Outputsrc/workflows.json– Workflow-Definitionensrc/config.php– Konstanten, CSRF, Logging, Limits
src/workflows.json enthält Aufgaben pro Workflow (Suffix, Format, Breite/Höhe). Nach Änderungen Seite neu laden.
- Upload schlägt fehl: Container-Logs prüfen (
docker compose logs -f). - Leere Workflow-Liste: JSON-Syntax von
src/workflows.jsonprüfen. - Fehlende Bildfunktionen: sicherstellen, dass Container mit Imagick/GD gebaut wurde.
MIT License.
raw/ und output/ sind Laufzeitdaten und in .gitignore ausgeschlossen.