Filament Storage Monitor: відстежуйте використання дискового простору прямо у Filament Dashboard

Перекладено ШІ 0 Laravel News 17 червня, 2026

Filament Storage Monitor дозволяє зручно відстежувати стан дискового простору сервера безпосередньо у вашій адмін-панелі. Дізнайтеся, як налаштувати моніторинг різних розділів та гнучко керувати доступом до цих даних.

Filament Storage Monitor — це плагін, який додає віджет на панель Filament для моніторингу дискового простору сервера. Він зчитує статистику за допомогою нативних функцій PHP та відображає її у вигляді віджета, що органічно вписується в інтерфейс. Плагін підтримує роботу з декількома розділами, кастомні підписи та багато іншого.

# Реєстрація дисків

Ви реєструєте плагін у панелі та вказуєте шляхи для моніторингу. Метод addDisk() приймає шлях та підпис безпосередньо, тоді як laravelDisk() дозволяє обрати диск із конфігурації config/filesystems.php:

use AchyutN\FilamentStorageMonitor\FilamentStorageMonitor;
 
return $panel
    ->plugins([
        FilamentStorageMonitor::make()
            ->addDisk('/mnt/data', label: 'Data Partition')
            ->laravelDisk(name: 'public', label: 'Media Storage'),
    ]);

Для гнучкого налаштування окремого диска метод add() приймає об'єкт Disk DTO. У ньому можна задати колір та Heroicon разом зі шляхом та підписом:

use AchyutN\FilamentStorageMonitor\DTO\Disk;
use AchyutN\FilamentStorageMonitor\FilamentStorageMonitor;
use Filament\Support\Colors\Color;
use Filament\Support\Icons\Heroicon;
 
FilamentStorageMonitor::make()
    ->add(
        Disk::make('web-root')
            ->path('/var/www/html')
            ->label('Web Root')
            ->color(Color::Green)
            ->icon(Heroicon::ComputerDesktop),
    )
    ->addDisk(
        path: '/mnt/backup',
        label: 'Backups',
        color: Color::Blue,
        icon: Heroicon::ArchiveBox,
    );

# Авторизація для окремих дисків

Дані про використання дисків можуть бути конфіденційними, тому плагін дозволяє керувати доступом на двох рівнях. Замикання visible() на рівні віджета контролює його відображення загалом, а isVisible для конкретного диска приховує лише цей запис:

FilamentStorageMonitor::make()
    ->visible(fn () => auth()->user()->is_admin) // Приховати весь віджет
    ->addDisk(
        path: '/var/www/html',
        label: 'App Files',
        isVisible: fn () => auth()->user()->can('view_server_stats') // Приховати конкретний диск
    );

# Компактний режим

Щоб віджет займав менше місця на панелі, можна активувати компактний режим — тоді відображатимуться лише назва та обсяг вільного простору:

FilamentStorageMonitor::make()
    ->compact();

Віджет також підтримує стандартні налаштування макета Filament: columnSpan(), columnStart(), sort() та lazy().

# Обробка помилок

За замовчуванням, якщо шлях неможливо знайти (наприклад, через відсутню точку монтування), панель не «впаде» — віджет обробить помилку та продовжить роботу. Якщо ви хочете бачити ці проблеми під час розробки, метод throwException() дозволяє увімкнути винятки (наприклад, лише для локального середовища):

FilamentStorageMonitor::make()
    ->throwException(fn () => app()->isLocal());

Важливий нюанс: оскільки пакет зчитує статистику на рівні розділів, два різні шляхи на одному розділі показуватимуть однаковий загальний та вільний обсяг. Розрахунок розміру окремих директорій заплановано в майбутніх релізах.

Вихідний код, документація та правила участі у розробці доступні на GitHub.

Популярні

Інше, що варто прочитати

19 Оновлено 17 червня, 2026

Використання штучного інтелекту для управління перекладами в Laravel

Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!

11 Оновлено 17 червня, 2026

Генерація документації в Laravel за допомогою штучного інтелекту

Docudoodle — це потужний пакет для генерації документації в Laravel, який допомагає легко аналізувати вашу кодову базу та створювати документацію за допомогою обраного вами AI. Чи готові ви дізнатися, як цей інструмент може спростити вашу роботу з документуванням коду? Читайте далі!

Використання повнотекстового пошуку в Laravel
178 Оновлено 17 червня, 2026

Використання повнотекстового пошуку в Laravel

Laravel пропонує потужні можливості повнотекстового пошуку за допомогою методів whereFullText та orWhereFullText, що дозволяють здійснювати складні запити до бази даних. Дізнайтеся, як реалізувати ефективний пошук для вашого блогу чи системи управління контентом