Meilisearch
Lightning-fast search engine with typo tolerance and instant results.
Overview
Meilisearch is an open-source, lightning-fast search engine built in Rust that delivers instant search results with typo tolerance out of the box. Originally developed by the French company Meili, it was designed to provide developers with a simple yet powerful alternative to complex search solutions like Elasticsearch, offering sub-50ms search responses with minimal configuration required. Unlike traditional search engines that require extensive setup and tuning, Meilisearch focuses on developer experience and instant search capabilities.
This Docker deployment creates a standalone Meilisearch instance that provides both a RESTful search API and a built-in web dashboard for index management. The container exposes Meilisearch's HTTP API on port 7700, allowing applications to perform full-text searches, manage documents, and configure search parameters through simple REST calls. The setup includes persistent data storage to maintain search indexes and documents across container restarts.
This configuration is ideal for developers building e-commerce platforms, documentation sites, or any application requiring fast, typo-tolerant search functionality. Startups and small-to-medium businesses will find Meilisearch particularly valuable as a cost-effective, self-hosted alternative to paid search services like Algolia, while still providing enterprise-grade search capabilities with faceted filtering, custom ranking, and multi-tenancy support.
Key Features
- Sub-50ms search response times with instant-as-you-type search experience
- Built-in typo tolerance that automatically corrects user spelling mistakes
- Faceted search and filtering capabilities for complex data queries
- Custom ranking rules to fine-tune search result relevance
- Automatic highlighting and snippet generation in search results
- RESTful API with comprehensive endpoints for indexing and searching
- Built-in web dashboard accessible at localhost:7700 for index management
- Multi-tenancy support with API key-based access control
Common Use Cases
- 1E-commerce product catalogs with instant search and filtering by price, category, or brand
- 2Documentation websites requiring fast full-text search across articles and guides
- 3Content management systems needing typo-tolerant search for blogs or news sites
- 4Small to medium-sized applications replacing expensive Algolia subscriptions
- 5Development and staging environments for testing search functionality
- 6Internal knowledge bases and wikis for company documentation search
- 7Portfolio or gallery websites with searchable content and metadata filtering
Prerequisites
- Docker Engine 20.10+ and Docker Compose V2 for container orchestration
- Minimum 256MB RAM available, with 1GB+ recommended for production workloads
- Port 7700 available on the host system for Meilisearch API and dashboard access
- Basic understanding of RESTful APIs for document indexing and search operations
- MEILI_MASTER_KEY environment variable set for production security
- Sufficient disk space for search indexes (typically 10-30% of original data size)
For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms
docker-compose.yml
docker-compose.yml
1services: 2 meilisearch: 3 image: getmeili/meilisearch:latest4 container_name: meilisearch5 restart: unless-stopped6 environment: 7 MEILI_MASTER_KEY: ${MEILI_MASTER_KEY}8 MEILI_ENV: development9 volumes: 10 - meili_data:/meili_data11 ports: 12 - "7700:7700"13 networks: 14 - meili-network1516volumes: 17 meili_data: 1819networks: 20 meili-network: 21 driver: bridge.env Template
.env
1MEILI_MASTER_KEY=changeme-master-keyUsage Notes
- 1Docs: https://www.meilisearch.com/docs
- 2API at http://localhost:7700 | Mini-dashboard at http://localhost:7700
- 3Create index: curl -X POST http://localhost:7700/indexes -d '{"uid":"movies"}'
- 4Typo-tolerant instant search - results in <50ms
- 5Use MEILI_MASTER_KEY for production security
- 6Great Algolia alternative - similar API, self-hosted
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 meilisearch:5 image: getmeili/meilisearch:latest6 container_name: meilisearch7 restart: unless-stopped8 environment:9 MEILI_MASTER_KEY: ${MEILI_MASTER_KEY}10 MEILI_ENV: development11 volumes:12 - meili_data:/meili_data13 ports:14 - "7700:7700"15 networks:16 - meili-network1718volumes:19 meili_data:2021networks:22 meili-network:23 driver: bridge24EOF2526# 2. Create the .env file27cat > .env << 'EOF'28MEILI_MASTER_KEY=changeme-master-key29EOF3031# 3. Start the services32docker compose up -d3334# 4. View logs35docker compose logs -fOne-Liner
Run this command to download and set up the recipe in one step:
terminal
1curl -fsSL https://docker.recipes/api/recipes/meilisearch/run | bashTroubleshooting
- Error 'MEILI_MASTER_KEY is not set': Set the MEILI_MASTER_KEY environment variable in your .env file or docker-compose override
- Container exits with 'permission denied' on /meili_data: Ensure the Docker daemon has write permissions to the volume mount location
- API returns 'index not found' error: Create an index first using POST request to /indexes endpoint before adding documents
- Search results appear incomplete or outdated: Check if document indexing is complete by querying the /indexes/{uid}/stats endpoint
- Dashboard shows 'Development environment' warning: Change MEILI_ENV to 'production' and ensure MEILI_MASTER_KEY is set for production deployments
- High memory usage during indexing: Reduce batch size when adding documents or increase container memory limits for large datasets
Community Notes
Loading...
Loading notes...
Download Recipe Kit
Get all files in a ready-to-deploy package
Includes docker-compose.yml, .env template, README, and license
Ad Space
Shortcuts: C CopyF FavoriteD Download