Upload, organize, and serve files across your Laravel app. Folders, tags, automatic image and PDF thumbnails, and OCR text extraction — multi-tenant out of the box.
One command sets everything up: it copies the YAML configs, registers the Media app, adds a dedicated media disk to your filesystems, and runs the module migrations.
Requires noerd/noerd and PHP with the imagick extension.
$ composer require noerd/media
$ php artisan noerd:install-media
✓ YAML configs copied
✓ Media app registered
✓ Media storage disk added
✓ Migrations run
Every file is scoped to its tenant on a dedicated media disk — organized, searchable, and previewable.
Upload and manage files in a YAML-configured, searchable list view with live search and lazy loading.
Organize media into hierarchical folders and tag them for fast retrieval and filtering.
Automatic preview generation for images and PDFs — regenerable with a single artisan command.
Extract text from uploaded documents for full-text search across your media.
The library doubles as a picker — select files directly inside forms of other modules.
Every file is scoped to its tenant, stored on a dedicated media storage disk.
Switch to private mode and files are served only through authenticated routes.
Attach project-specific fields via a JSON column — no module changes required.