Spatie Laravel Health
CommunityThis package provides a Filament page that you can monitor the health of your application by registering checks using the `spatie/laravel-health` package.
Author:
Shuvro Roy
Package health
BetaAutomated checks of this plugin's Composer package
15 checks
- Passed: GitHub Actions pinned to SHA
- Skipped: GitLab CI includes pinned to SHA
- Passed: Open security advisories
- Passed: Dependabot PR responsiveness — No open Dependabot PRs.
- Skipped: Renovate MR responsiveness
- Passed: Dependabot or Renovate configured
- Passed: Dependency update cooldown configured
- Passed: Provides a security policy
- Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
- Passed: Commit and release recency — Active: last commit 1 days ago; last release 3 days ago.
-
Passed:
composer.lock not committed by library
—
composer.lockis absent from the released dist archive. - Passed: Dist archive is lean
-
Passed:
Current Laravel version supported
—
Package dependencies resolve together with current Laravel
13.0. -
Passed:
Current PHP version supported
—
Constraint
^8.2supports current PHP8.5. - Skipped: Current Symfony version supported
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
- Installation
- Usage
- Customising the navigation
- Using a custom page
- Authorising access
- Upgrading
- Testing
- Changelog
- Contributing
- Security Vulnerabilities
- Credits
- License
This package adds a Filament page for monitoring checks registered with spatie/laravel-health. It supports Filament 4 and 5 and PHP 8.2 or newer.
#Installation
Install the package via Composer:
composer require shuvroroy/filament-spatie-laravel-health
Laravel Health can store results in various ways. If you use its default Eloquent result store, publish and run the migration that creates the health_check_result_history_items table:
php artisan vendor:publish --tag="health-migrations"
php artisan migrate
Publish Filament's assets:
php artisan filament:assets
#Usage
Register the plugin in your Filament panel provider, such as AdminPanelProvider:
<?php
namespace App\Providers\Filament;
use Filament\Panel;
use Filament\PanelProvider;
use ShuvroRoy\FilamentSpatieLaravelHealth\FilamentSpatieLaravelHealthPlugin;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugin(FilamentSpatieLaravelHealthPlugin::make());
}
}
Register your health checks in the boot() method of app/Providers/AppServiceProvider.php:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Spatie\Health\Facades\Health;
use Spatie\Health\Checks\Checks\DebugModeCheck;
use Spatie\Health\Checks\Checks\EnvironmentCheck;
use Spatie\Health\Checks\Checks\OptimizedAppCheck;
class AppServiceProvider extends ServiceProvider
{
public function boot(): void
{
Health::checks([
OptimizedAppCheck::new(),
DebugModeCheck::new(),
EnvironmentCheck::new(),
]);
}
}
See the available checks in the Laravel Health documentation.
#Customising the navigation
The plugin exposes methods for changing the page's navigation group, sort order, icon, and label. Each option also accepts a closure when the value needs to be determined at runtime.
FilamentSpatieLaravelHealthPlugin::make()
->navigationGroup('System')
->navigationSort(10)
->navigationIcon('heroicon-o-cpu-chip')
->navigationLabel('Application Health');
Pass null to navigationGroup() to remove the default navigation group. Pass null to navigationLabel() to use the translated default label.
#Using a custom page
Extend the default page when you need to customise page-specific behavior, such as its heading or view. Configure navigation through the plugin methods described above.
<?php
namespace App\Filament\Pages;
use Illuminate\Contracts\Support\Htmlable;
use ShuvroRoy\FilamentSpatieLaravelHealth\Pages\HealthCheckResults as BaseHealthCheckResults;
class HealthCheckResults extends BaseHealthCheckResults
{
public function getHeading(): string | Htmlable
{
return 'Health Check Results';
}
}
Then pass the custom page class to the plugin in your panel provider:
<?php
namespace App\Providers\Filament;
use App\Filament\Pages\HealthCheckResults;
use Filament\Panel;
use Filament\PanelProvider;
use ShuvroRoy\FilamentSpatieLaravelHealth\FilamentSpatieLaravelHealthPlugin;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugin(
FilamentSpatieLaravelHealthPlugin::make()
->usingPage(HealthCheckResults::class),
);
}
}
#Authorising access
The page is accessible by default. Pass a boolean or closure to authorize() to restrict access:
<?php
namespace App\Providers\Filament;
use Filament\Panel;
use Filament\PanelProvider;
use ShuvroRoy\FilamentSpatieLaravelHealth\FilamentSpatieLaravelHealthPlugin;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugin(
FilamentSpatieLaravelHealthPlugin::make()
->authorize(fn (): bool => auth()->user()?->email === 'admin@example.com'),
);
}
}
#Upgrading
Please see UPGRADE for details on how to upgrade 1.X to 2.0.
#Testing
composer test
composer test:coverage
composer analyse
composer format
The coverage command requires Xdebug or PCOV and fails when coverage is below 100%.
#Changelog
Please see CHANGELOG for more information on what has changed recently.
#Contributing
Please see CONTRIBUTING for details.
#Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
#Credits
#License
The MIT License (MIT). Please see License File for more information.
The author
Shuvro is a senior software engineer from Dhaka, BD. He contributes to Filament and lots of other open source projects. He works for MailerLite, a digital email marketing platform.
From the same author
Stature Theme
A polished, compact control panel theme for Filament 4 & 5 with thoughtfully crafted light and dark modes.
Author:
Shuvro Roy
Spatie Laravel Backup
This package provides a Filament page that you can create backup of your application by using `spatie/laravel-backup` package.
Author:
Shuvro Roy
Featured Plugins
A selection of plugins curated by the Filament team
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
Spotlight Pro
Browse your Filament Panel with ease. Filament Spotlight Pro adds a Spotlight like Command Palette to your Filament Panel.
Dennis Koch
Sharp Theme
A theme that gives panels a precise, technical look with square corners, strong borders, and clear contrast.
Filament