Search by

aaix / laravel-islands-filemanager

aaix

A file manager for Laravel Islands: folders, list and thumbnail views, notes, comments, previews and full-text search.

Package info

github.com/jonaaix/laravel-islands-filemanager

pkg:composer/aaix/laravel-islands-filemanager

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.2 2026-10-29 10:11 UTC

This package is auto-updated.

Last update: 2026-10-29 10:12:41 UTC


README

Laravel Islands File Manager Logo

Laravel Islands File Manager

A file manager for Laravel Islands: folders, list and thumbnail views, an info column with notes and comments, previews, keyboard shortcuts and full-text search — including Office files and scanned documents.

Latest Version on Packagist Total Downloads

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.