livewire-filemanager/filemanager
Livewire-powered file manager for Laravel: drag & drop uploads, search, folders, dark mode, multi-language UI, and API endpoints. Integrates with Spatie Media Library for media handling and thumbnails. PHP 8.2+.
medialibrary ensures consistency with existing media handling (e.g., models, storage adapters, conversions). Avoids reinventing file storage/management logic./api/filemanager/v1/) enable decoupled access for non-Livewire clients (e.g., mobile apps, third-party services). Uses Laravel Sanctum for auth, reducing boilerplate for secure endpoints.<x-livewire-filemanager />) and API endpoints are self-contained, allowing selective adoption (e.g., use only the UI or only the API).@filemanagerStyles or configured in tailwind.config.js.spatie/laravel-medialibrary.folders, media) with migrations. Minimal schema changes if using Spatie’s medialibrary already.| Risk Area | Severity | Mitigation |
|---|---|---|
| Breaking Changes | High | Package is in v1.0.0 but has undergone renaming (e.g., fileuploader → filemanager). Use php artisan filemanager:migrate-config to avoid issues. |
| Security Gaps | Medium | No built-in auth/ACL by default. Requires manual configuration (Sanctum for API, ACL in livewire-filemanager.php). Critical for public-facing apps. |
| Performance | Medium | Thumbnail generation uses queues (default). Poorly configured QUEUE_CONNECTION (e.g., sync) can block requests. Monitor queue workers. |
| Tailwind Dependency | Low | Uses PLAY CDN in dev; requires manual config for production. Tailwind v3/4 support ensures flexibility. |
| API Stability | Low | API is new (introduced in v1.0.0). Test endpoints thoroughly for versioning risks. |
| Upgrade Path | Medium | Migration from v0.x to v1.0.0 is automated but requires filemanager:migrate-config. Plan for future upgrades. |
acl_enabled: true).medialibrary already configured? If not, will the team need to set up storage adapters (e.g., S3)?convertImages can be extended.Media model.| Component | Fit Level | Notes |
|---|---|---|
| Laravel 10/11/12/13 | Excellent | PHP 8.2+ support; tested with Livewire 3.x. |
| Livewire | Native | Core functionality is Livewire-based (real-time UI updates). |
| Spatie Media Library | High | Shared storage/media handling reduces duplication. |
| TailwindCSS | Optional | Required for styles but can be customized via tailwind.config.js. |
| AlpineJS | Low | Used for minor UI interactions; no critical dependency. |
| Sanctum | Medium | Required for API auth; assume Sanctum is already configured. |
| Queues | High | Thumbnail generation uses queues; ensure workers are running. |
composer require livewire-filemanager/filemanager
php artisan vendor:publish --tag=livewire-filemanager-migrations
php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="medialibrary-migrations"
php artisan migrate
php artisan vendor:publish --tag=livewire-filemanager-config
php artisan vendor:publish --provider="Spatie\MediaLibrary\MediaLibraryServiceProvider" --tag="medialibrary-config"
media_model in config/medialibrary.php to LivewireFilemanager\Filemanager\Models\Media.@filemanagerStyles
<x-livewire-filemanager />
@filemanagerScripts
@filemanagerStyles with local Tailwind paths (see README)./api/filemanager/v1/.Route::get('{path}', [FileController::class, 'show'])->where('path', '.*');
<x-livewire-filemanager /> in the app.acl_enabled: true) if needed.How can I help you explore Laravel packages today?