@kreatifklub/directus-extension-meilisearch-plugin
v0.1.0
Published
Directus extension to Meilisearch synchronization (UI + hooks + reindex)
Maintainers
Readme
Directus Meilisearch Plugin
Powerful Meilisearch integration for Directus with full UI configuration, automatic sync, and reindex support.
🚀 Features
- 🔄 Automatic sync on create / update / delete
- 🗂 Choose which collections to index
- 🧩 Select specific fields
- 🔍 Apply Directus filters before indexing
- 🔁 Manual reindex button
- 📊 Reindex job tracking
- ⚙️ Auto-creates required Directus schema
- 🧠 Smart sync architecture
- 🚀 Marketplace installable
📦 Requirements
- Directus
^11.0.0 - Meilisearch server running
- Environment variables configured
🛠 Installation
Option 1 --- Install from Directus Marketplace (Recommended)
- Go to Settings → Marketplace
- Search for Directus Meilisearch Plugin
- Click Install
If your Directus instance blocks API extensions, set:
MARKETPLACE_TRUST=all
Option 2 --- Install via npm (Self-hosted)
pnpm add @kreatifklub/directus-meilisearch-pluginThen restart Directus.
⚙️ Environment Variables
Configure these in your Directus environment:
MEILI_HOST=http://meilisearch:7700
MEILI_ADMIN_KEY=your_master_key_hereRailway Example
In Railway → Directus Service → Variables:
MEILI_HOST=https://your-meili-url
MEILI_ADMIN_KEY=xxxxx
MARKETPLACE_TRUST=allThen redeploy.
🧩 How It Works
1️⃣ Configure Index
Go to:
Settings → Meilisearch Sync
Create a new configuration:
- Select collection
- Choose fields
- Add optional filter
- Enable sync
2️⃣ Automatic Sync
The plugin listens to:
- items.create
- items.update
- items.delete
And syncs automatically to Meilisearch.
3️⃣ Manual Reindex
Click Reindex to rebuild the entire index.
Job progress is visible in the Jobs panel.
🗄 Data Model
The plugin automatically creates:
meili_indexes
Stores index configurations.
meili_jobs
Tracks reindex progress.
No manual schema setup required.
🔐 Security
- Only admins can manage sync settings
- Uses Meilisearch Admin API key
- Supports Directus permission filtering
- Respects collection filters before indexing
🧠 Architecture
This plugin is a Directus Bundle Extension:
- Module (Admin UI)
- Hook (Sync logic)
- Endpoint (Reindex API)
- Schema bootstrap
Built with:
- Vue 3
- TypeScript
- Directus Extension SDK
- Meilisearch JS SDK
🛠 Development
pnpm install
pnpm run build📌 Version Compatibility
Plugin Version Directus
0.0.x ^11.0.0
📄 License
MIT
👤 Author
KreatifKlub
https://kreatifklub.com
🗺 Roadmap
- [ ] Batch indexing optimization
- [ ] Soft-delete handling
- [ ] Multi-language support
- [ ] Advanced transform mapping UI
- [ ] Search analytics dashboard
