- How do I install livewire-filemanager/filemanager in a Laravel application?
- Install it with composer require livewire-filemanager/filemanager, then publish the package migrations using php artisan vendor:publish --tag=livewire-filemanager-migrations. Because the package stores files through Spatie Media Library, you also need to publish Spatie's migrations with the medialibrary-migrations tag if you have not already done so. Run php artisan migrate afterwards and drop the <x-livewire-filemanager /> component into a Blade view. PHP 8.2.0 or greater is required.
- Does Livewire Filemanager require Spatie Media Library?
- Yes. Livewire Filemanager is built on spatie/laravel-medialibrary, which is a required Composer dependency and handles the actual media records in the media table. If Spatie Media Library is not already installed in your app, you are taking it on as a new dependency for this feature. Note that enabling the package's access-control behaviour means swapping Spatie's global media_model to the package's own Media model, which has app-wide impact and should be verified against existing media consumers.
- What PHP and Laravel versions does Livewire Filemanager support?
- The package requires PHP 8.2.0 or higher and is built on livewire/livewire plus spatie/laravel-medialibrary. The 1.1.0 release added Laravel 13 support, following the 1.0.0 stable release. The README still carries a development disclaimer, so pin your versions and review UPGRADE.md before minor bumps.
- Is Livewire Filemanager production-ready and secure for uploaded documents?
- The package openly states that it ships no security layer for uploaded documents, so access control, virus scanning, MIME or extension restrictions, and size limits are your responsibility. There is no route-level protection out of the box, and the public file URLs are served through a catch-all Route::get('{path}', ...), which can shadow existing routes if you do not prefix or order it carefully. Treat it as an internal, admin-facing tool until you have built your own policy layer around it.
- How do I add the file manager to a Blade view and style it correctly?
- Render the component with <x-livewire-filemanager /> inside any Blade view; Tailwind and Alpine are already present in a typical Livewire app, so no new build pipeline is needed. The remaining work is content-path configuration, using tailwind.config.js content entries on Tailwind v3 or the @source directive on v4. Also replace the default @filemanagerStyles directive, which pulls the Tailwind Play CDN and is not intended for production, with a compiled CSS build.
- Can I restrict users so they only see their own files and folders?
- Access control is opt-in and coarse: enabling it means only the user who created a file can view it. That is creator-scoped visibility, not team, role, or permission-based sharing, so shared departmental folders require custom work on top of the package. Enabling it also requires swapping Spatie's global media_model to the package's Media model. Decide up front whether this is an internal admin tool or a customer-facing document system.
- Does Livewire Filemanager provide an API for a decoupled frontend or mobile app?
- Yes. The package exposes REST endpoints under /api/filemanager/v1/ authenticated with Sanctum. That lets a separate frontend or mobile client read and manage the same folders and media records the Livewire component uses. You still need to define authorization rules for those endpoints yourself, since the package does not ship a permission model.
- Why are my uploaded image thumbnails not being generated?
- Thumbnail generation is queued, so it silently fails if no queue worker is running. Start a worker with php artisan queue:work in the environment where uploads happen, or configure a synchronous queue driver for low-volume internal installs. Missing thumbnails usually look like a package bug but are almost always a queue or storage configuration issue.
- Can Livewire Filemanager handle multi-tenant or team-scoped file storage?
- Not out of the box. The package ships a folders table with no tenant concept described, so there is nothing to scope files and folders by organisation or team. You would add a tenant column and enforce scoping through your own queries, policies, and component wrappers. For a single-tenant internal tool it works cleanly; for per-organisation storage expect meaningful custom development.
- How do I upgrade from livewire-fileuploader to livewire-filemanager?
- The package was renamed from livewire-fileuploader to livewire-filemanager at 1.0.0, which changed configuration keys and publish tags. The maintainers shipped a filemanager:migrate-config artisan command and an UPGRADE.md guide to handle the break, which is a good sign of maintenance discipline. Pin the Composer version and read UPGRADE.md before every minor upgrade, since the README's development disclaimer has not been fully retired.