Looking to hire Laravel developers? Try LaraJobs
This package is not available.

laravel-islands-filemanager maintained by aaix

Description
A Finder-like file manager for Laravel Islands: folders, list and thumbnail views, notes, comments, Quick Look and full-text search.
Last update
2026/10/29 11:11 (dev-main)
License
Links
Downloads
0

Comments
comments powered by Disqus

A file manager as one Laravel Islands page: folder tree, list and thumbnail views, notes and comments, previews, keyboard shortcuts, folder uploads and full-text search — including Office files and scanned documents.

Requirements

  • PHP 8.3+, Laravel 12 or 13, a queue worker
  • aaix/laravel-islands, aaix/laravel-islands-datagrid, aaix/laravel-islands-search
  • PHP zip and Imagick, the poppler tools; optionally tesseract for scans
apt-get install poppler-utils tesseract-ocr tesseract-ocr-deu tesseract-ocr-eng

Installation

composer require aaix/laravel-islands-filemanager
php artisan vendor:publish --tag=filemanager-migrations
php artisan vendor:publish --tag=filemanager-config
php artisan migrate
// vite.config.js
import islandsFilemanager from './vendor/aaix/laravel-islands-filemanager/vite.js';

export default defineConfig({
    plugins: [/* … */ islandsFilemanager()],
});
// resources/js/app.js
import { filemanagerIslands } from '@aaix/laravel-islands-filemanager';

startVueIslands({ ...islands, ...filemanagerIslands });
@source '../../vendor/aaix/laravel-islands-filemanager/resources/js/**/*';
FILEMANAGER_HASH_SALT=a-long-random-string   # never change once files are stored

Setup

Allow access through a gate (set filemanager.ability to null to let every signed-in user in):

Gate::define('filemanager.access', fn (User $user): bool => $user->hasRole('office'));

Place the page inside your layout — it answers under /files and renders filemanager.page.view with $island and $islandProps:

{{-- resources/views/files.blade.php, config: 'page' => ['view' => 'files'] --}}
<x-layouts.app :title="$title">
    <x-island :name="$island" :props="$islandProps" />
</x-layouts.app>

Optionally add the sources to your Laravel Islands Search endpoint:

IslandsSearch::route('search', [FileSearchSource::class, FileContentSearchSource::class]);

Route prefix, middleware, storage disk, OCR languages and more live in config/filemanager.php.

License

The MIT License (MIT). See LICENSE for more information.