Meilisearch by Kyle Anderson
CommunityA comprehensive Filament plugin for managing Meilisearch instances directly from your Filament admin panel. Inspired by meiliweb.
Author:
Kyle Anderson
Package health
Automated checks of this plugin's Composer package
15 checks
- Skipped: 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
- Skipped: Dependabot or Renovate configured
- Skipped: Dependency update cooldown configured
- Failed: Provides a security policy — View details on Plumb
- Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
- Passed: Commit and release recency — Active: last commit 52 days ago; last release 52 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.1supports 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
A comprehensive Filament plugin for managing Meilisearch instances directly from your Filament admin panel. Inspired by meiliweb.
#Features
- Dashboard - Overview of your Meilisearch instance health, version, and statistics
- Indexes Management - Create, view, and delete indexes
- Documents Management - Add, search, view, and delete documents
- API Keys Management - Create and manage Meilisearch API keys with granular permissions
- Tasks Monitoring - View and manage background tasks
- Dumps - Create database dumps for backup
- Snapshots - Create point-in-time snapshots
- Index Settings - View and manage index configuration
#Requirements
- PHP 8.1+
- Laravel 9.0+ | 10.0+ | 11.0+
- Filament v4.0+|v5.0+
- Meilisearch PHP SDK ^1.6
#Installation
composer require lancodev/filament-meilisearch
Publish the configuration file:
php artisan vendor:publish --tag="filament-meilisearch-config"
#Configuration
Add your Meilisearch connection details to your .env file:
MEILISEARCH_HOST=http://localhost:7700
MEILISEARCH_KEY=your-master-key
Or publish and edit the config file at config/filament-meilisearch.php:
return [
'host' => env('MEILISEARCH_HOST', 'http://localhost:7700'),
'key' => env('MEILISEARCH_KEY', null),
'navigation' => [
'group' => 'Meilisearch',
'icon' => 'heroicon-o-magnifying-glass',
'sort' => 0,
],
'features' => [
'indexes' => true,
'documents' => true,
'keys' => true,
'tasks' => true,
'dumps' => true,
'snapshots' => true,
'settings' => true,
],
];
#Usage
#Register the Plugin
In your Filament panel provider (typically app/Providers/Filament/AdminPanelProvider.php):
use Lancodev\FilamentMeilisearch\MeilisearchPlugin;
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugins([
MeilisearchPlugin::make()
->navigationGroup('Search')
->navigationIcon('heroicon-o-magnifying-glass')
->navigationSort(10)
->features([
'indexes' => true,
'documents' => true,
'keys' => true,
'tasks' => true,
'dumps' => true,
'snapshots' => true,
'settings' => true,
]),
]);
}
#Customizing Features
You can enable or disable specific features:
MeilisearchPlugin::make()
->features([
'indexes' => true,
'documents' => true,
'keys' => false, // Disable API keys management
'tasks' => true,
'dumps' => false, // Disable dumps
'snapshots' => false, // Disable snapshots
'settings' => true,
])
#Limiting Visible Indexes
By default, all indexes in your Meilisearch instance are shown. You can restrict which indexes are visible in the admin panel:
Via the plugin registration:
MeilisearchPlugin::make()
->allowedIndexes(['products', 'users', 'orders']);
Via the config file:
// config/filament-meilisearch.php
'allowed_indexes' => ['products', 'users', 'orders'],
Via the .env file:
FILAMENT_MEILISEARCH_ALLOWED_INDEXES=products,users,orders
When set, only the listed indexes will appear in the Dashboard, Indexes, and API Keys pages. Set to null (or omit) to show all indexes.
#Security
Important: Ensure your Meilisearch instance is properly secured. This plugin requires a Meilisearch API key with appropriate permissions. We recommend:
- Using environment variables for sensitive configuration
- Restricting access to the Meilisearch admin panel to authorized users only
- Using Meilisearch's built-in API key management for granular permissions
- Never committing API keys to version control
#License
MIT License. See LICENSE for details.
#Credits
Inspired by meiliweb by Benoît Polaszek.
The author
Kyle Anderson is a Senior Software Engineer with extensive experience building web and mobile applications using PHP, Laravel, Livewire, Vue, and Tailwind CSS. He specializes in architecting scalable cloud-native solutions on AWS and enjoys creating developer tools, plugins, and packages that improve the Laravel and FilamentPHP ecosystem. When he's not building software, Kyle can usually be found experimenting with new technologies, contributing to open-source projects, or working on one of his many side projects.
Featured Plugins
A selection of plugins curated by the Filament team
Sharp Theme
A theme that gives panels a precise, technical look with square corners, strong borders, and clear contrast.
Filament
Custom Fields
Eliminate custom field migrations forever. Let your users create and manage form fields directly in Filament admin panels with 20+ built-in field types, validation, and zero database changes.
Relaticle
Noir Theme
A theme that gives panels a focused, refined look with near-black surfaces, crisp actions, and restrained color.
Filament