Search & Vectors 1 service 1 GiB RAM 5 GB disk

Meilisearch

Instant, typo-tolerant search in a single container - the Algolia experience at a flat self-hosted price.

One-click deploy, from $7/mo on a Miget plan.

Meilisearch is the open-source answer to "search that feels like Algolia": results as you type in under 50 ms, typo tolerance that just works, faceting, filtering, synonyms, and lately hybrid semantic search. It is a single Rust binary, which makes it a perfect self-hosting citizen.

This template runs Meilisearch in production mode behind a master key - keyless requests are rejected - with a 5 GB volume for indexes. It is public on its app domain by design: derive scoped search keys (GET /keys) for browsers, keep the master key server-side, and you have a complete search backend.

Where Algolia meters by the thousand searches and records, this is a flat $7/month for most projects. Search is the funnel feature users notice; the bill should not be.

#what you get

  • Sub-50 ms instant search with built-in typo tolerance
  • Faceting, filtering, sorting, synonyms, stop words, multi-language
  • Hybrid semantic + keyword search (bring an embedder)
  • Master-key protected in production mode; scoped API keys per client
  • InstantSearch-compatible frontend libraries
  • Single container + 5 GB volume; data survives redeploys

#topology

ServiceRolePublic
meilisearchsearch engine + API (:5000 public domain)yes (master-key protected)

#miget sizing

// this stack needs

1 GiB RAM · 5 GB disk · 1 service

1 GiB RAM indexes and serves hundreds of thousands of documents comfortably. Indexing is the memory-hungry phase - bump RAM temporarily for very large initial imports.

Hobby - recommended fit

$7/mo

1 vCPU · 1 GiB · 25 GiB disk

Headroom for your own apps: 2 GiB at $13/mo

Professional - production

$22/mo

1 vCPU · 2 GiB · 10 GiB disk

Dedicated resources, production SLOs - plan details

One Miget plan is a fixed pool of compute - the whole stack (managed databases included) deploys inside it, and anything left over runs your other apps. No per-service or per-seat math.

#vs. the managed service

What the hosted equivalents charge, against the flat Miget plan this stack fits on. Prices as of June 2026, sources linked.

ServicePlanMonthlyWhat you get
Meilisearch on Miget 1 GiB plan$7this whole stack, flat - no usage meters, and room left for your own apps
Meilisearch CloudCloud~$20floor; realistic small-project usage lands ~$23-30/mo
AlgoliaGrow (pay-as-you-go)~$45at ~100k searches + 100k records/mo ($0.50 per 1k searches past free tier)

#vs. other PaaS

Estimated monthly cost of running this exact stack (1 GiB RAM, 5 GB disk, 1 container) elsewhere, from published June 2026 rates.

PlatformEst. monthlyNotes
Miget $7 flat compose stacks first-class: one deploy, dedicated vCPU, managed Postgres/Valkey, volumes and TLS all included in the plan
Heroku ~$50 no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown
DO App Platform ~$17 no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here)
Render ~$14 per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service
Railway ~$11 usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top
Fly.io ~$7 cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra

Estimates assume RAM fully allocated at published on-demand rates - and sticker price isn't the whole comparison: the cheaper rows buy burstable shared CPUs, per-service wiring instead of a compose deploy, and managed databases billed separately. Heroku and DO App Platform have no persistent volumes at all - stateful stacks like this one need workarounds there.

#deploy it

On Miget

  1. Create a Compose Stack in app.miget.com pointing at the templates repository
  2. Set the stack path to meilisearch
  3. Set the required variable:
    • MEILI_MASTER_KEY, master key (openssl rand -base64 24); derive scoped keys for apps
  4. Deploy. Miget layers compose.miget.yaml (RAM, privacy, volumes, managed services) automatically

Locally first?

Every template is portable, vanilla Docker Compose - the Miget overrides are ignored locally:

git clone https://github.com/deployable-sh/stacks
cd miget-compose-templates/meilisearch
docker compose up -d

Same files, same behavior. The template README covers connection strings and scaling notes.

#faq

Is Meilisearch a real Algolia alternative?

For most product search, docs search, and app search use cases - yes. Same instant-results UX, InstantSearch-compatible libraries, typo tolerance and faceting. What you give up is Algolia’s global edge network and some enterprise analytics; what you gain is a flat price and your data on your infrastructure.

How much does self-hosted Meilisearch cost vs Algolia or Meilisearch Cloud?

This template runs on the $7/month 1 GiB Miget hobby plan, flat, with no per-search or per-record metering. Algolia and Meilisearch Cloud both price by usage tiers that typically exceed that within the first serious project.

Is it safe that Meilisearch is publicly reachable?

Yes, in production mode every request must carry a valid key - the master key rejects nothing-in-hand requests outright. Ship only scoped, expirable search keys to browsers; keep the master key in your backend env.

Does Meilisearch support semantic / AI search?

Yes - hybrid search combines keyword relevance with vector similarity. Configure an embedder (OpenAI, Hugging Face, or REST) on an index and queries can blend both, which materially improves recall on natural-language queries.

Ship Meilisearch today

One compose stack, 1 GiB of RAM, from $7/month flat, and it runs on your laptop with the same files.