PHPackages                             achyutn/filament-storage-monitor - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [File &amp; Storage](/categories/file-storage)
4. /
5. achyutn/filament-storage-monitor

ActiveLibrary[File &amp; Storage](/categories/file-storage)

achyutn/filament-storage-monitor
================================

A server storage monitoring widget for Filament.

v1.2.0(1mo ago)17918↑88.9%1MITPHPPHP ^8.2|^8.3

Since Apr 14Pushed 1mo agoCompare

[ Source](https://github.com/achyutkneupane/filament-storage-monitor)[ Packagist](https://packagist.org/packages/achyutn/filament-storage-monitor)[ Fund](https://www.buymeacoffee.com/achyutn)[ Fund](https://buymemomo.com/achyut)[ RSS](/packages/achyutn-filament-storage-monitor/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (3)Dependencies (8)Versions (4)Used By (0)

Filament Storage Monitor
========================

[](#filament-storage-monitor)

[![Packagist Version](https://camo.githubusercontent.com/1de9678c4e328a4446589f2280ee432e9a566ef8a07b7588a13e588f7e2c0652/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6163687975746e2f66696c616d656e742d73746f726167652d6d6f6e69746f723f6c6162656c3d4c617465737425323056657273696f6e)](https://camo.githubusercontent.com/1de9678c4e328a4446589f2280ee432e9a566ef8a07b7588a13e588f7e2c0652/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6163687975746e2f66696c616d656e742d73746f726167652d6d6f6e69746f723f6c6162656c3d4c617465737425323056657273696f6e)[![Packagist Downloads](https://camo.githubusercontent.com/a36018ae96b8d1c9e48585d1febe7b40429ce8aaae6c66c659ff6c9064c845b4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6163687975746e2f66696c616d656e742d73746f726167652d6d6f6e69746f723f6c6162656c3d5061636b6167697374253230446f776e6c6f616473)](https://camo.githubusercontent.com/a36018ae96b8d1c9e48585d1febe7b40429ce8aaae6c66c659ff6c9064c845b4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6163687975746e2f66696c616d656e742d73746f726167652d6d6f6e69746f723f6c6162656c3d5061636b6167697374253230446f776e6c6f616473)[![Packagist Stars](https://camo.githubusercontent.com/95f25d97c28a1947b9b1afdcc297fc180ee334560389b7b8fab5204290a00399/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f73746172732f6163687975746e2f66696c616d656e742d73746f726167652d6d6f6e69746f723f6c6162656c3d5374617273)](https://camo.githubusercontent.com/95f25d97c28a1947b9b1afdcc297fc180ee334560389b7b8fab5204290a00399/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f73746172732f6163687975746e2f66696c616d656e742d73746f726167652d6d6f6e69746f723f6c6162656c3d5374617273)[![Lint & Test PR](https://github.com/achyutkneupane/filament-storage-monitor/actions/workflows/prlint.yml/badge.svg)](https://github.com/achyutkneupane/filament-storage-monitor/actions/workflows/prlint.yml)

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.

[![Screenshot of the Filament Storage Monitor widget](https://camo.githubusercontent.com/ee1c6afe18a4ebfd132530e91e71714b56e59ad292303711549b0e40c482f141/68747470733a2f2f68616d726f63646e2e636f6d2f354d6a715a59686a4b397a7a)](https://camo.githubusercontent.com/ee1c6afe18a4ebfd132530e91e71714b56e59ad292303711549b0e40c482f141/68747470733a2f2f68616d726f63646e2e636f6d2f354d6a715a59686a4b397a7a)

Requirements
------------

[](#requirements)

- PHP: **8.2+**
- Filament: **4.x** or **5.x**

Installation
------------

[](#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
-----

[](#usage)

The plugin automatically registers a dashboard widget once disks are configured.

### Adding Disks

[](#adding-disks)

You can add disks manually by providing a path, or resolve them directly from your Laravel filesystem configuration.

#### Manual Registration

[](#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

[](#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 &amp; Visibility

[](#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

[](#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();
```

[![Compact mode example](https://camo.githubusercontent.com/7a3b507b8e91ff3c8e358eff0ba327878a555cc4c813f5813fb383d81445a1c3/68747470733a2f2f68616d726f63646e2e636f6d2f5655643752614b7371733677)](https://camo.githubusercontent.com/7a3b507b8e91ff3c8e358eff0ba327878a555cc4c813f5813fb383d81445a1c3/68747470733a2f2f68616d726f63646e2e636f6d2f5655643752614b7371733677)

### Widget Properties

[](#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 is `true`).
- `visible()`: Control the widget's visibility with a boolean or closure.

### Strict Mode

[](#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/html` and `/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
------------

[](#localization)

Filament Storage Monitor includes built-in translations for:

- [English](resources/lang/en/plugin.php)

Translations are applied automatically based on your application's current locale.

> Missing your language? Feel free to [submit a PR](https://github.com/achyutkneupane/filament-storage-monitor/pulls) to add it!

License
-------

[](#license)

This package is open-sourced software licensed under the [MIT license](LICENSE.md).

Contributing
------------

[](#contributing)

Contributions are welcome! Please create a pull request or open an issue if you find any bugs or have feature requests.

Support
-------

[](#support)

If you find this package useful, please consider starring the repository on GitHub to show your support.

###  Health Score

47

—

FairBetter than 93% of packages

Maintenance89

Actively maintained with recent releases

Popularity28

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

3

Last Release

54d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/52259760?v=4)[achyutn](/maintainers/achyutn)[@AchyutN](https://github.com/AchyutN)

---

Top Contributors

[![achyutkneupane](https://avatars.githubusercontent.com/u/30431426?v=4)](https://github.com/achyutkneupane "achyutkneupane (67 commits)")

---

Tags

analyticsfilamentlaravelstoragelaravelutilitystoragefilament

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/achyutn-filament-storage-monitor/health.svg)

```
[![Health](https://phpackages.com/badges/achyutn-filament-storage-monitor/health.svg)](https://phpackages.com/packages/achyutn-filament-storage-monitor)
```

###  Alternatives

[mwguerra/filemanager

A full-featured file manager package for Laravel and Filament v5 with dual operating modes, drag-and-drop uploads, S3/MinIO support, and comprehensive security features.

7715.5k2](/packages/mwguerra-filemanager)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3913.7k](/packages/rawilk-profile-filament-plugin)[slimani/filament-media-manager

A media manager plugin for Filament.

115.1k](/packages/slimani-filament-media-manager)[mmes-design/filament-file-manager

A beautiful file manager plugin for Filament. Browse, upload, rename, move and delete files with ease.

142.4k](/packages/mmes-design-filament-file-manager)[wsmallnews/filament-nestedset

Filament nestedset tree builder powered by kalnoy/nestedset with Filament v4 and v5 support

196.5k14](/packages/wsmallnews-filament-nestedset)[tapp/filament-form-builder

User facing form builder using Filament components

141.9k2](/packages/tapp-filament-form-builder)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
