Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти Інструменти Події
Інше
Про нас Реклама
Новини 17 червня 2026

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

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(), який приймає DTO Disk. Тут можна встановити колір, іконку 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,
    );

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

Інформація про використання диска може бути конфіденційною серверною інформацією, тому плагін дозволяє контролювати видимість на двох рівнях. Closure visible() на віджеті керує тим, чи відображатиметься весь віджет, а closure 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();

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

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

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

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

Обмеження

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

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

36

Читати в документації

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Filament v5.10.0
Новини 12 жовтня 2026

Filament v5.10.0: сітка в rich editor, скелетони таблиць і десятки виправлень

Вийшов Filament v5.10.0: елементи керування сіткою в rich editor, допоміжний контент для віджетів-графіків, скелетони завантаження таблиць, submitOnCompletion() для OneTimeCodeInput та багато виправлень авторизації, доступності й стану.

18
Laravel AI SDK на практиці
Новини 09 жовтня 2026

Laravel AI SDK на практиці: агент, що стоїть за There There

Фрік Ван дер Гертен розповідає, як у Spatie побудували AI-шар хелпдеска There There на Laravel AI SDK: клас агента, інструменти з типізованою JSON-схемою та делегування роботи звичайним domain-діям.

16

Вакансії за темою

MAKEUP
16 днів тому

PHP Tech Lead

PHP Tech Lead для великого e-commerce проекту. Управління PHP-командою з 3-8 людей, участь у проектуванні архітектури, code review та розробці критичних частин системи. Вимоги: 6+ років досвіду у PHP/backend, 2+ років у ролі лідера, знання Laravel/Symfony, SQL, REST API, Docker, CI/CD, тестування.

Пакети за темою

Laravel Activitylog

spatie/laravel-activitylog

Простий логер активності для моніторингу користувачів вашого веб-сайту або додатку.

5,907 5.1.1 13 22

Telescope

laravel/telescope

Елегантний помічник для налагодження фреймворку Laravel, який допомагає розробникам в розробці та тестуванні додатків.

5,233 v5.26.0 13 6