[{"data":1,"prerenderedAt":131},["ShallowReactive",2],{"seo-verification":3,"blog-hosting-meilisearch-on-a-vps-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":12,"excerpt":13,"readTime":14,"views":15,"isPinned":16,"publishedAt":17,"category":18,"categories":24,"featuredImage":26,"bgImage":27,"posterImage":28,"relatedSolution":29,"intro":32,"sections":33,"ctaTitle":82,"ctaBody":83,"ctaButton":84,"ctaUrl":85,"relatedPosts":86},67,"hosting-meilisearch-on-a-vps",{"fr":10,"en":8,"ar":11},"heberger-meilisearch-vps","استضافة-meilisearch-على-خادم-vps","Hosting Meilisearch on a VPS","Host Meilisearch on your VPS: an instant, fault-tolerant and typo-tolerant search engine. A Docker, master key and SSL guide.",4,0,false,"2026-04-14T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},6,"Databases","bases-de-donnees","bg-teal-500\u002F10 text-teal-400","database",[25],{"id":19,"name":20,"slug":21,"color":22,"icon":23},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-meilisearch-vps-poster.svg",{"categorySlug":30,"appSlug":31},"databases","meilisearch","Meilisearch is an open-source search engine, written in Rust, that returns relevant results in under 50 milliseconds with typo tolerance and instant search. Lightweight and simple to operate, it self-hosts ideally on a VPS to power the search of your site or application. Here is how to deploy it with Docker, the master key and an SSL certificate.",[34,38,48,51,73,76,79],{"type":35,"title":36,"body":37},"h2","Why self-host Meilisearch on a VPS","Meilisearch offers a \"search-as-you-type\" experience comparable to commercial solutions, but under an open-source licence and with minimal configuration: no esoteric analyzer tuning, sensible defaults, and a clear API. Self-hosting it on a VPS spares you the per-document and per-search billing of managed services like Algolia, while keeping your indexes and your product data on your own infrastructure. It is a particularly cost-effective choice for an e-commerce site, a blog or documentation: you pay for the server, not for each document indexed or each query run. You control the API keys, the filterable attributes and relevance, and you can reindex at will with no quota constraints.",{"type":39,"title":40,"items":41},"ul","The concrete benefits of self-hosting Meilisearch",[42,43,44,45,46,47],"Instant search under 50 ms with typo tolerance enabled by default.","Minimal configuration: sensible relevance settings out of the box, up and running in a few minutes.","Built-in filtering, facets, sorting and highlighting to build a complete search UI.","Written in Rust: a reasonable memory footprint and high throughput even on a small VPS.","A simple API with SDKs for most languages and ready-to-use front-end integrations.","No cost per indexed document or per query, unlike managed search engines.",{"type":35,"title":49,"body":50},"Hardware and software prerequisites","Meilisearch is frugal but loads part of its indexes into memory to stay fast. For an index of a few tens of thousands of documents, 1 to 2 GB of RAM is enough; for hundreds of thousands of documents with many filterable attributes, aim for 2 to 4 GB. The indexing phase is the most demanding on RAM and CPU, so allow some headroom for reindexing. One to two vCPUs are fine, and 20 to 40 GB of SSD covers the index and its snapshots. You will need Docker, a domain if you expose the API publicly, and a `MEILI_MASTER_KEY` without fail: without it, in production mode, the instance refuses to start to protect you from open access.",{"type":52,"title":53,"steps":54},"steps","Deploy Meilisearch step by step",[55,58,61,64,67,70],{"title":56,"body":57},"Provision the VPS and Docker","Install Docker and configure the firewall to open only 80 and 443. Create a DNS A record for `recherche.mydomain.com` pointing to the VPS IP.",{"title":59,"body":60},"Launch Meilisearch in production mode","Use the `getmeili\u002Fmeilisearch` image. Set `MEILI_ENV=production` and `MEILI_MASTER_KEY` with a strong key (`openssl rand -base64 32`). Mount a volume on `\u002Fmeili_data` to persist the indexes: `volumes: - .\u002Fmeili_data:\u002Fmeili_data`.",{"title":62,"body":63},"Manage the API keys","From the master key, generate scoped keys: a search key to expose on the front-end, and an admin key on the server side for indexing. Never expose the master key in the browser.",{"title":65,"body":66},"Configure the reverse proxy and TLS","Place Caddy in front of port `7700`: `recherche.mydomain.com { reverse_proxy localhost:7700 }`. Caddy obtains the Let's Encrypt certificate automatically and encrypts all search traffic.",{"title":68,"body":69},"Index your data and tune relevance","Push your documents via the API or an SDK, then define the `searchableAttributes`, `filterableAttributes` and `sortableAttributes` as well as the `rankingRules` suited to your use case (e-commerce, docs, blog).",{"title":71,"body":72},"Enable snapshots and backup","Configure Meilisearch's regular snapshots or dumps and copy them to remote storage. In the event of an incident, a dump lets you rebuild the instance with its indexes and settings.",{"type":74,"body":75},"tip","Keep the list of `filterableAttributes` to the strict minimum: each filterable attribute increases the index size and the indexing time. For a responsive search UI, connect the front-end directly to Meilisearch with a scoped \"search\" key (limited to certain indexes) rather than relaying every request through your backend, which removes a round trip and reduces perceived latency. During a bulk reindex, monitor the task via the `\u002Ftasks` API rather than blocking while you wait.",{"type":35,"title":77,"body":78},"Arabic and French search: works without configuration","One distinctive angle for Morocco\u002FMENA projects is Meilisearch's bilingual Arabic-French support without plugins. The tokeniser automatically detects the language of each attribute and applies the right processing: n-gram segmentation for Arabic (handles the absence of standard word separators), diacritic normalisation for French.\n\nIn practice, a product index mixing Arabic names (`خادم VPS`) and French names (`Serveur VPS`) responds correctly to both types of query without extra configuration. Ideal for a Moroccan e-commerce catalogue, a business directory, or a job portal targeting both languages.\n\nFor trilingual search (Arabic, French, English), simply add the fields in all three languages in the same JSON document and Meilisearch indexes them all. No separate per-language indexes needed.",{"type":35,"title":80,"body":81},"Use cases: from e-commerce to SaaS","**E-commerce catalogue**: index products, categories and descriptions. Facets (brand, price, availability) are added with one line of configuration (`filterableAttributes`). Result: a real-time search bar with clickable filters, without touching your order-management SQL database.\n\n**Technical documentation**: crawl your Markdown files or Ghost pages into Meilisearch with `meilisearch-docsearch-scraper`. The Instant MeiliSearch plugin adds an Algolia DocSearch-style bar in ten minutes — with autocomplete and snippet highlighting.\n\n**Professional directory or local marketplace**: combine full-text with geolocation for results within 10 km, in the right category, with typo tolerance on the provider name. All served by your VPS, with no dependency on a paid third-party API.","Power your search with Meilisearch","The ServOrbit Cloud VPS provides the Docker environment, the fixed IP and the NVMe disks to host Meilisearch and offer instant search to your visitors, with SSL and API keys under control.","Deploy on Cloud VPS","\u002Fvps-cloud",[87,102,116],{"id":88,"slug":89,"slugs":90,"title":93,"excerpt":94,"readTime":14,"views":15,"isPinned":16,"publishedAt":95,"category":96,"categories":97,"featuredImage":26,"bgImage":27,"posterImage":99,"relatedSolution":100},56,"postgresql-on-a-vps-a-reliable-and-controlled-database",{"fr":91,"en":89,"ar":92},"heberger-postgresql-vps","postgresql-على-خادم-vps-قاعدة-بيانات-موثوقة-ومتحكم-بها","PostgreSQL on a VPS: a reliable and controlled database","Host PostgreSQL on a VPS: volumes, backups, restricted network access and sound configuration for your applications.","2026-04-25T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[98],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Fheberger-postgresql-vps-poster.svg",{"categorySlug":30,"appSlug":101},"postgresql-stack",{"id":103,"slug":104,"slugs":105,"title":108,"excerpt":109,"readTime":110,"views":15,"isPinned":16,"publishedAt":111,"category":112,"categories":113,"featuredImage":26,"bgImage":27,"posterImage":115,"relatedSolution":26},57,"hosting-mysql-on-a-vps",{"fr":106,"en":104,"ar":107},"heberger-mysql-vps","استضافة-mysql-على-خادم-vps","Hosting MySQL on a VPS","Host MySQL on your Cloud VPS: Docker deployment, hardening, InnoDB tuning, and automated backups, step by step.",3,"2026-04-24T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[114],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Fheberger-mysql-vps-poster.svg",{"id":117,"slug":118,"slugs":119,"title":122,"excerpt":123,"readTime":14,"views":15,"isPinned":16,"publishedAt":124,"category":125,"categories":126,"featuredImage":26,"bgImage":27,"posterImage":128,"relatedSolution":129},58,"hosting-redis-on-a-vps",{"fr":120,"en":118,"ar":121},"heberger-redis-vps","استضافة-redis-على-خادم-vps","Hosting Redis on a VPS","Deploy Redis on your Cloud VPS: in-memory cache, sessions, and queues, with persistence, security, and tuning.","2026-04-23T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[127],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Fheberger-redis-vps-poster.svg",{"categorySlug":30,"appSlug":130},"redis-stack",1787581002193]