A Media Module for noerd

A Media Library
for your Laravel App

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.

Media Library
Home / Marketing
Logos
Campaigns
Print
hero-image.webp
Website
brochure-2026.pdf
Print
team-photo.jpg
About
Drop files to upload

Install the Media Module

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.

Read the Docs
Terminal
$ composer require noerd/media

$ php artisan noerd:install-media

 YAML configs copied
 Media app registered
 Media storage disk added
 Migrations run

Files, Handled Properly

Every file is scoped to its tenant on a dedicated media disk — organized, searchable, and previewable.

Media Library

Upload and manage files in a YAML-configured, searchable list view with live search and lazy loading.

Folders & Tags

Organize media into hierarchical folders and tag them for fast retrieval and filtering.

Thumbnails & Previews

Automatic preview generation for images and PDFs — regenerable with a single artisan command.

OCR

Extract text from uploaded documents for full-text search across your media.

Media Picker

The library doubles as a picker — select files directly inside forms of other modules.

Multi-Tenant

Every file is scoped to its tenant, stored on a dedicated media storage disk.

Private Media

Switch to private mode and files are served only through authenticated routes.

Custom Attributes

Attach project-specific fields via a JSON column — no module changes required.