[{"data":1,"prerenderedAt":80},["ShallowReactive",2],{"seo-verification":3,"marketplace-app-en-meilisearch":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"slug":7,"name":8,"description":9,"phase":10,"docsUrl":11,"logo":12,"github":12,"tagline":13,"longDescription":14,"features":15,"useCases":22,"steps":32,"faq":48,"specs":64,"compatibleOs":71,"relatedApps":72,"relatedPosts":73,"category":74},"meilisearch","Meilisearch","Self-hosted full-text search engine: add instant, typo-tolerant search to your applications with a simple REST API — 57 k GitHub stars, single Rust container, under 100 MB RAM.",1,"https:\u002F\u002Fservorbit.com\u002Fblog\u002Fself-host-meilisearch-vps",null,"Self-hosted full-text search — instant, typo-tolerant search for your apps via REST API. One container, under 100 MB RAM, no external database.","Meilisearch (MIT, 57 k+ GitHub stars, v1.51.0) is a blazingly fast, open-source search engine written in Rust. It exposes a clean REST API that lets you index your data and query it with typo tolerance, faceted filtering, multilingual tokenisation and sub-50 ms response times — right out of the box, with zero configuration required.\n\nUnlike Elasticsearch or Solr, Meilisearch is designed to be deployable in minutes: a single Docker container, a named volume for its data directory, and one environment variable for the master key. There is no JVM, no cluster setup, no shard tuning. The built-in web dashboard (Meilisearch Mini Dashboard) lets you explore your indexes and run live queries from the browser.\n\nDeployed on a ServOrbit VPS, Meilisearch becomes the search backbone of your project — whether you are building an e-commerce catalogue search, a documentation portal, a SaaS application with in-app search, or a Moroccan Arabic-French bilingual directory. The multilingual tokeniser handles Arabic, French, English and dozens of other languages without plugins.\n\nOfficial SDKs cover JavaScript \u002F TypeScript, Python, PHP, Ruby, Go, Rust, Java, .NET, Dart and Swift. Frameworks and headless CMSs (Strapi, Directus, Ghost, Docusaurus, Vuepress) have native Meilisearch integrations. Pair it with Typesense's drop-in API compatibility or use the Instant MeiliSearch plugin to add an Algolia-like search UI to any React, Vue or Vanilla JS front-end in under ten minutes.",[16,17,18,19,20,21],"Typo tolerance out of the box — a query for 'Mohammmed' finds 'Mohammed', no configuration needed","Faceted search and filtering — filter by category, price range, tag or any attribute alongside the full-text query","Multilingual tokeniser — Arabic, French, English, Chinese, Japanese and 27+ other languages handled natively","Geosearch — filter and sort results by distance from a GPS point; ideal for local business directories","Sub-50 ms response times on millions of documents — Rust binary with LMDB storage, no JVM overhead","MIT licence, 57 k+ GitHub stars, actively maintained — official SDKs for 10 languages, integrations for every major framework",[23,26,29],{"title":24,"body":25},"E-commerce catalogue search","Index your product catalogue with price, category and stock attributes. Users get instant results as they type, with facets to narrow by brand or price range — all served from your own VPS, with no per-query fee and no data leaving your infrastructure.",{"title":27,"body":28},"Documentation and knowledge base search","Crawl your Markdown docs or Ghost blog into Meilisearch and expose an instant search bar. The typo tolerance and multilingual support make it ideal for bilingual (French\u002FArabic) documentation sites targeting Moroccan and MENA developers.",{"title":30,"body":31},"In-app search for SaaS products","Replace ILIKE SQL queries — which scan full tables and break on accented characters — with Meilisearch's indexed, sub-millisecond lookup. Your Laravel, Node.js or Django app calls the REST API; Meilisearch handles ranking, typos and highlighting.",[33,36,39,42,45],{"title":34,"body":35},"Order a VPS","Choose a ServOrbit VPS with at least 1 GB RAM (Meilisearch itself uses under 100 MB; the rest is headroom for your index and OS). Ubuntu 22.04 with Docker pre-installed by the provisioner.",{"title":37,"body":38},"Deploy Meilisearch","The provisioner starts the container: `docker compose up -d`. The REST API is immediately available on port 7700 behind the nginx reverse proxy. Your generated master key is displayed in the ServOrbit client area.",{"title":40,"body":41},"Index your first data","Send a JSON array to create an index and add documents: `curl -X POST 'http:\u002F\u002Fyour-vps:7700\u002Findexes\u002Fproducts\u002Fdocuments' -H 'Authorization: Bearer YOUR_MASTER_KEY' -H 'Content-Type: application\u002Fjson' -d '[{\"id\":1,\"name\":\"VPS Cloud 2 Go\",\"category\":\"hosting\"}]'`. Meilisearch indexes asynchronously; query the task status via the `\u002Ftasks` endpoint.",{"title":43,"body":44},"Search from your application","Install the SDK for your language (`npm install meilisearch`, `composer require meilisearch\u002Fmeilisearch-php`, `pip install meilisearch`) and run your first query: `client.index('products').search('vps', { facets: ['category'] })`. Add the Instant MeiliSearch plugin to your front-end for a live-as-you-type search bar.",{"title":46,"body":47},"Manage indexes from the dashboard","Open `https:\u002F\u002Fyour-domain:7700` in a browser to access the built-in Mini Dashboard. Enter your master key to browse indexes, run live queries, inspect document counts and monitor task queues — no extra tooling required.",[49,52,55,58,61],{"q":50,"a":51},"How is Meilisearch different from Elasticsearch or Algolia?","Elasticsearch is a distributed, JVM-based search platform designed for log analytics at scale — powerful but complex to operate and heavy on RAM (2–8 GB minimum). Algolia is a fully managed SaaS service with per-request pricing. Meilisearch occupies a different position: it is optimised for user-facing search on datasets up to tens of millions of documents, runs in a single Rust binary under 100 MB of RAM, and is entirely self-hosted under the MIT licence. If you need log aggregation across a cluster, use Elasticsearch. If you need instant search on your product catalogue, docs or app data without a monthly SaaS bill, Meilisearch is the right fit.",{"q":53,"a":54},"How much RAM and disk does Meilisearch need on a VPS?","The binary itself idles under 50 MB of RAM. Index size depends on your data: an index of 100 000 product documents with several text attributes typically takes 200–400 MB of RAM and a similar amount of disk (Meilisearch pre-builds full inverted indexes for speed). A 1 GB VPS comfortably handles most small-to-medium projects; upgrade to 2–4 GB for millions of documents or heavy concurrent search traffic.",{"q":56,"a":57},"Does Meilisearch support Arabic and French?","Yes. Meilisearch ships a multilingual tokeniser that handles Arabic (right-to-left, no stemmer needed — character n-gram tokenisation), French (with diacritic handling and stop words) and dozens of other languages out of the box. You do not need to install plugins or configure language analysers. For a bilingual French\u002FArabic search, simply send both language fields in the same document and query normally.",{"q":59,"a":60},"Is my data safe if I set no master key?","In development mode (no master key set), the REST API is completely open — anyone who can reach port 7700 can read, write and delete all indexes. The ServOrbit provisioner always sets a strong random master key (`MEILI_MASTER_KEY`) and runs Meilisearch in production mode, so your instance is protected from the first boot. Keep the key in a secrets manager; it is your only credential for generating API keys and managing the instance.",{"q":62,"a":63},"Can I generate scoped API keys to limit what clients can do?","Yes. Using the master key you can create tenant API keys with fine-grained permissions: read-only on a specific index, search-only with filtered attributes, write access to a subset of indexes. This is the recommended pattern for front-end applications — generate a search-only key that cannot delete documents, expose it in your JavaScript bundle, and keep the master key server-side only.",{"ram":65,"cpu":66,"stack":67,"port":70},"1 GB","1 vCPU",[68,69],"Docker","Rust","7700",[],[],[],{"key":75,"slug":75,"name":76,"objective":77,"icon":78,"color":79},"developpement","Development","Kick off a software project quickly.","dev","text-warning bg-warning\u002F10",1785714050401]