docker.recipes

Meilisearch + Mini Dashboard

beginner

Lightning fast search engine with typo tolerance.

Overview

Meilisearch is an open-source search engine built in Rust that delivers sub-50ms search responses with built-in typo tolerance and zero-configuration setup. Originally developed by the French company Meili, it emerged as a developer-friendly alternative to complex solutions like Elasticsearch, focusing on instant search experiences without the operational overhead. Unlike traditional search engines that require extensive configuration and tuning, Meilisearch works intelligently out of the box with features like automatic typo correction, relevance ranking, and faceted search. This stack combines the core Meilisearch engine with the riccoxie/meilisearch-ui dashboard, creating a complete search solution with visual management capabilities. The dashboard provides an intuitive interface for index management, document browsing, search testing, and analytics visualization, while Meilisearch handles the high-performance search operations through its RESTful API. The two components communicate over a dedicated Docker network, with the dashboard automatically connecting to the Meilisearch instance. This combination is ideal for developers and organizations who need powerful search capabilities without the complexity of enterprise solutions. Startups building e-commerce platforms, content sites, or applications requiring instant search will benefit from Meilisearch's simplicity and performance, while the dashboard makes it accessible to non-technical team members for content management and search optimization.

Key Features

  • Sub-50ms search responses with built-in performance optimization
  • Automatic typo tolerance with intelligent correction algorithms
  • Faceted search and filtering with customizable attributes
  • Visual dashboard for index management and search analytics
  • Highlighting and snippet generation for search results
  • Custom ranking rules with attribute-based relevance tuning
  • Multi-tenancy support with API key-based access control
  • RESTful API with comprehensive search and indexing endpoints

Common Use Cases

  • 1E-commerce product catalogs with instant search and filtering
  • 2Documentation sites requiring fast content discovery
  • 3Content management systems with full-text search capabilities
  • 4Small to medium-scale applications needing typo-tolerant search
  • 5Development environments for testing search implementations
  • 6Internal knowledge bases and company wikis
  • 7Educational platforms with course and content search functionality

Prerequisites

  • Minimum 256MB RAM available (1GB+ recommended for production)
  • Docker and Docker Compose installed on the host system
  • Ports 7700 and 24900 available on the host machine
  • Basic understanding of REST APIs for Meilisearch integration
  • MASTER_KEY environment variable configured for production security

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:latest
4 environment:
5 - MEILI_MASTER_KEY=${MASTER_KEY}
6 - MEILI_ENV=production
7 - MEILI_NO_ANALYTICS=true
8 volumes:
9 - meilisearch-data:/meili_data
10 ports:
11 - "7700:7700"
12 networks:
13 - meilisearch-network
14 restart: unless-stopped
15
16 dashboard:
17 image: riccoxie/meilisearch-ui:latest
18 environment:
19 - MEILI_HOST=http://meilisearch:7700
20 ports:
21 - "24900:24900"
22 depends_on:
23 - meilisearch
24 networks:
25 - meilisearch-network
26 restart: unless-stopped
27
28volumes:
29 meilisearch-data:
30
31networks:
32 meilisearch-network:
33 driver: bridge

.env Template

.env
1# Meilisearch
2MASTER_KEY=your-master-key-at-least-16-chars
3
4# Generate key: openssl rand -base64 32

Usage Notes

  1. 1API at http://localhost:7700
  2. 2Dashboard at http://localhost:24900
  3. 3Typo tolerance built-in
  4. 4Faceted search
  5. 5RESTful API

Individual Services(2 services)

Copy individual services to mix and match with your existing compose files.

meilisearch
meilisearch:
  image: getmeili/meilisearch:latest
  environment:
    - MEILI_MASTER_KEY=${MASTER_KEY}
    - MEILI_ENV=production
    - MEILI_NO_ANALYTICS=true
  volumes:
    - meilisearch-data:/meili_data
  ports:
    - "7700:7700"
  networks:
    - meilisearch-network
  restart: unless-stopped
dashboard
dashboard:
  image: riccoxie/meilisearch-ui:latest
  environment:
    - MEILI_HOST=http://meilisearch:7700
  ports:
    - "24900:24900"
  depends_on:
    - meilisearch
  networks:
    - meilisearch-network
  restart: unless-stopped

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 meilisearch:
5 image: getmeili/meilisearch:latest
6 environment:
7 - MEILI_MASTER_KEY=${MASTER_KEY}
8 - MEILI_ENV=production
9 - MEILI_NO_ANALYTICS=true
10 volumes:
11 - meilisearch-data:/meili_data
12 ports:
13 - "7700:7700"
14 networks:
15 - meilisearch-network
16 restart: unless-stopped
17
18 dashboard:
19 image: riccoxie/meilisearch-ui:latest
20 environment:
21 - MEILI_HOST=http://meilisearch:7700
22 ports:
23 - "24900:24900"
24 depends_on:
25 - meilisearch
26 networks:
27 - meilisearch-network
28 restart: unless-stopped
29
30volumes:
31 meilisearch-data:
32
33networks:
34 meilisearch-network:
35 driver: bridge
36EOF
37
38# 2. Create the .env file
39cat > .env << 'EOF'
40# Meilisearch
41MASTER_KEY=your-master-key-at-least-16-chars
42
43# Generate key: openssl rand -base64 32
44EOF
45
46# 3. Start the services
47docker compose up -d
48
49# 4. View logs
50docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/meilisearch-complete/run | bash

Troubleshooting

  • Dashboard shows connection error: Verify the MEILI_HOST environment variable points to http://meilisearch:7700 and both containers are on the same network
  • Meilisearch returns 401 Unauthorized: Ensure the MASTER_KEY environment variable is set and API requests include the correct Authorization header
  • Search queries return empty results: Check that documents are properly indexed and searchable attributes are configured correctly through the API
  • Container fails to start with permission errors: Verify the meilisearch-data volume has proper write permissions and sufficient disk space
  • Dashboard interface not loading: Confirm port 24900 is not blocked by firewall and the dashboard container has successfully started after meilisearch

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

Components

meilisearchmeilisearch-dashboard

Tags

#meilisearch#search#full-text#typo-tolerant#instant

Category

Database Stacks
Ad Space