Storage Monitor
CommunityThis package provides a dashboard widget that displays disk usage with support for multiple partitions.
Author:
Achyut Neupane
Package health
BetaAutomated checks of this plugin's Composer package
13 checks
-
Passed:
Current Laravel version supported
—
Package dependencies resolve together with current Laravel
13.0. -
Passed:
Current PHP version supported
—
Constraint
^8.2|^8.3supports current PHP8.5. - Skipped: Current Symfony version supported
- Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
- Passed: Commit and release recency — Active: last commit 87 days ago; last release 87 days ago.
-
Passed:
composer.lock not committed by library
—
composer.lockis absent from the released dist archive. - Passed: Dist archive is lean
- Failed: GitHub Actions pinned to SHA — View details on Plumb
- Passed: Open security advisories
- Passed: Dependabot PR responsiveness — No open Dependabot PRs.
- Failed: Dependabot or Renovate configured — No dependency updater configuration found. View details on Plumb
- Skipped: Dependency update cooldown configured
- Failed: Provides a security policy — View details on Plumb
filament/
namespace. Review the source and install at your own risk. Found
malware or an unresolved security issue the author won't
address?
Report it
.
Documentation
A strictly typed, highly expressive Filament plugin to monitor server storage. This package provides a clean, native-feeling dashboard widget that displays disk usage with support for multiple partitions, custom labeling, and dynamic health-based coloring.
#Requirements
- PHP: 8.2+
- Filament: 4.x or 5.x
#Installation
You can install the package via Composer:
composer require achyutn/filament-storage-monitor
Register the plugin inside your Filament panel:
use AchyutN\FilamentStorageMonitor\FilamentStorageMonitor;
return $panel
->plugins([
FilamentStorageMonitor::make()
->addDisk('/mnt/data', label: 'Data Partition')
->laravelDisk(name: 'public', label: 'Media Storage'),
]);
You can chain several methods to customize the widget's behavior and appearance:
FilamentStorageMonitor::make()
->addDisk(path: '/', label: 'Root Storage')
->columnSpan('full')
->sort(-3)
->lazy(false)
->visible(fn () => auth()->user()->isAdmin()),
#Usage
The plugin automatically registers a dashboard widget once disks are configured.
#Adding Disks
You can add disks manually by providing a path, or resolve them directly from your Laravel filesystem configuration.
#Manual Registration
You can either use addDisk() for adding a disk through parameters or add() using the Disk DTO:
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,
);
#Laravel Disk Registration
You can also register disks directly from your Laravel filesystem configuration file config/filesystems.php:
FilamentStorageMonitor::make()
->laravelDisk(name: 'local', label: 'Local Storage');
#Authorization & Visibility
You can control the visibility of the entire widget or individual disks using boolean values or closures. This is useful for restricting sensitive server information to administrators.
FilamentStorageMonitor::make()
->visible(fn () => auth()->user()->is_admin) // Hide entire widget
->addDisk(
path: '/var/www/html',
label: 'App Files',
isVisible: fn () => auth()->user()->can('view_server_stats') // Hide specific disk
);
#Compact Mode
If you want a minimal display that only shows the disk label and free space, you can enable compact mode:
FilamentStorageMonitor::make()
->compact();
#Widget Properties
columnSpan(): Set the widget's column span (e.g., 'full', 'half', or a specific number).columnStart(): Define the starting column for the widget.sort(): Define the widget's order on the dashboard (lower numbers appear first).lazy(): Enable or disable lazy loading of the widget (default istrue).visible(): Control the widget's visibility with a boolean or closure.
#Strict Mode
By default, if a disk path cannot be resolved or is misconfigured (e.g., a missing mount), the widget will not crash your Filament panel. Instead, it gracefully catches the error.
If you prefer exceptions to be thrown when a disk is missing or has errors, you can enable throwException() mode:
FilamentStorageMonitor::make()
->throwException(true) // boolean
// or
FilamentStorageMonitor::make()
->throwException(fn () => app()->isLocal()) // Closure
[!NOTE] This package currently monitors Disk Partitions using native PHP filesystem functions. If you add two different paths that reside on the same partition (e.g.,
/var/www/htmland/var/www/html/laravel-project), they will display the same total/free space because they belong to the same filesystem boundary.Directory-specific size calculation is planned for a future release.
#Localization
Filament Storage Monitor includes built-in translations for:
Translations are applied automatically based on your application's current locale.
Missing your language? Feel free to submit a PR to add it!
#License
This package is open-sourced software licensed under the MIT license.
#Contributing
Contributions are welcome! Please create a pull request or open an issue if you find any bugs or have feature requests.
#Support
If you find this package useful, please consider starring the repository on GitHub to show your support.
The author
Achyut is a full-stack web developer from Nepal, passionate about building developer-first tools and clean user interfaces. He has over 6 years of experience in Laravel and over 4 years in React, and actively contributes to the Laravel and Filament ecosystem.
From the same author
Log Viewer
A developer-focused Laravel log viewer with stack trace inspection, built for Filament.
Author:
Achyut Neupane
FLIRT Kit
The starter kit for the Laravel framework with RILT stack and Filament v4 as Admin Panel.
Author:
Achyut Neupane
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Blueprint
Filament Blueprint is a premium Laravel Boost extension that helps AI agents produce accurate, detailed implementation plans and security reports for Filament apps.
Filament
Data Lens
Advanced Data Visualization for Laravel Filament - a premium reporting solution enabling custom column creation, sophisticated filtering, and enterprise-grade data insights within admin panels.
Padmission