lancodev/filament-meilisearch

A Filament plugin for managing Meilisearch instances directly from your Filament admin panel.

Maintainers

Package info

github.com/lancodev/filament-meilisearch

pkg:composer/lancodev/filament-meilisearch

Statistics

Installs: 26

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v2.0.1 2026-06-04 21:33 UTC

This package is auto-updated.

Last update: 2026-06-04 21:35:48 UTC


README

Filament Meilisearch Plugin

Filament Meilisearch Plugin

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.