Meilisearch zelf hosten in 2026: master keys, indexes en dumps
Host Meilisearch zelf met de juiste poorten, persistente opslag, HTTPS, secrets, backups en upgradecontroles. Leer hoe je problemen oplost wanneer MEILI_ENV op development blijft staan.
Meilisearch zelf hosten wordt interessant bij de eerste redeploy, niet bij de eerste docker run. Als MEILI_ENV op development blijft staan of het datavolume tijdens een redeploy verloren gaat, kan Docker nog steeds een volledig gezond proces melden. De onderstaande deployment is opgebouwd rond observeerbaar gedrag: maak een index aan, importeer documenten, configureer filterable attributes en bewijs dat een typo-tolerante query en filter de verwachte records opleveren.
De beoogde taak van Meilisearch is duidelijk: typo-tolerante full-text search met een snelle HTTP API. Die omschrijving vertelt ons wat publiek toegankelijk moet blijven, wat privé moet blijven en wat een backup moet kunnen reconstrueren.
Breng Meilisearch in kaart voordat je Docker aanraakt
Scheid vier aandachtspunten voor Meilisearch: ingress, de listener op 7700, persistente state en ondersteunende services of lokale capaciteit. De vereiste voor de lokale runtime is schijfruimte voor indexes, plus extra ruimte voor rebuilds en dumps. Houd de lifecycle expliciet, zodat het verplaatsen van Meilisearch tussen hosts niet ongemerkt het gedrag verandert.
Voer de bekende succesvolle transactie uit — maak een index aan, importeer documenten, configureer filterable attributes en bewijs dat een typo-tolerante query en filter de verwachte records opleveren — voordat je deze scheiding voltooid noemt. Meet het geheugengebruik voor batch indexing, tijdelijke schijfruimte tijdens index builds, het aantal documenten en gelijktijdig search-verkeer en bewaar het resultaat bij de deploymentgegevens. Dit levert zowel een acceptatiecriterium als de eerste capaciteitsbaseline op.
Maak het opstarten van Meilisearch reproduceerbaar
Gebruik een command waarin elke belangrijke keuze zichtbaar is. Deze baseline bindt Meilisearch aan de loopback van de host, voegt de bekende datamounts toe en levert de eerste vereiste instelling aan. Controleer de lokale vereiste voordat je Meilisearch extern beschikbaar maakt: schijfruimte voor indexes, plus extra ruimte voor rebuilds en dumps.
docker run -d \
--name meilisearch \
--restart unless-stopped \
-p 127.0.0.1:7700:7700 \
-v meilisearch-data:/meili_data \
-e MEILI_MASTER_KEY=replace-with-a-long-random-value \
getmeili/meilisearch:latest
Vervang floating tags door een geteste versie of digest. Bekijk na het opstarten docker logs --tail 200 meilisearch en controleer of het proces op 7700 luistert. Voer daarna de Meilisearch-acceptatietest uit; een response vanaf de root kan niet bewijzen dat het volledige scenario slaagt: maak een index aan, importeer documenten, configureer filterable attributes en bewijs dat een typo-tolerante query en filter de verwachte records opleveren.
Geef Meilisearch één canoniek adres
Behandel de externe Meilisearch-URL als configuratie die redeploys overleeft. Serveer de HTTP API eerst via één geauthenticeerde HTTPS-origin; routeer de hostname daarna naar poort 7700, waarbij de oorspronkelijke host en scheme intact blijven.
De checklist voor deployment-bereikbaarheid kan bewijzen dat requests de container binnenkomen. Vanaf dat moment moet de bekende fout — MEILI_ENV blijft op development staan of het datavolume gaat tijdens een redeploy verloren — worden onderzocht in Meilisearch, de state ervan of de workload, en niet in de certificaatautomatisering.
Herstel Meilisearch op een lege host
De persistente recoveryset bestaat uit geplande dumps of snapshots en de persistente datadirectory. Mount /meili_data vóór de bootstrap, schrijf onschadelijke voorbeelddata en vervang de container om te bewijzen dat dit pad daadwerkelijk persistent is. Een volume beschermt data tegen het vervangen van de container, maar niet tegen verlies van de host, onbedoelde verwijdering of corruptie op applicatieniveau.
Maak backups die de databron begrijpen: gebruik waar nodig logical dumps voor live databases en kopieer bestanden alleen vanuit een consistente state. Bewaar één versleutelde kopie buiten de Meilisearch-host. Het acceptatiecriterium voor een restore is specifiek — een dump wordt geïmporteerd in een clean server met dezelfde instellingen, hetzelfde aantal documenten en een representatieve ranking. De handleiding voor backups die daadwerkelijk zijn teruggezet legt uit waarom alleen een succesvolle job niet voldoende is.
Bescherm het waardevolle deel van Meilisearch
Neem securityaannames uit een lokale tutorial niet automatisch over. Het specifieke aandachtspunt bij Meilisearch is productie opstarten zonder master key. Reserveer de master key in productie daarom voor administratie en geef browser-searchclients beperkte search keys.
Behandel MEILI_MASTER_KEY volgens de Meilisearch-rol ervan: houd gevoelige waarden uit Git, documenteer de gevolgen van rotatie en gebruik in productie nooit een publiek voorbeeld. Beperk filesystem- en network access, bescherm setup-endpoints en definieer limieten voor uploads, requests of execution rond het geheugengebruik voor batch indexing, tijdelijke schijfruimte tijdens index builds, het aantal documenten en gelijktijdig search-verkeer.
Bewaak de workload, niet alleen de container
Capaciteitstests moeten het geheugengebruik voor batch indexing, tijdelijke schijfruimte tijdens index builds, het aantal documenten en gelijktijdig search-verkeer testen, niet telkens opnieuw een request naar /. Voer het scenario “maak een index aan, importeer documenten, configureer filterable attributes en bewijs dat een typo-tolerante query en filter de verwachte records opleveren” uit met realistische concurrency en leg latency, error rate en storage growth vast.
Bij upgradeplanning moet je rekening houden met dit risico: de compatibiliteit van Meilisearch-dumps en de vereisten voor index rebuilds moeten worden gecontroleerd voordat je van versie wisselt. Test de nieuwe release met representatieve input, voer daarna de acceptatietransactie opnieuw uit en vergelijk het resultaat. Als MEILI_ENV op development blijft staan of het datavolume tijdens een redeploy verloren gaat, leg dan de mislukte transactie vast en inspecteer de eerste betrokken boundary in plaats van aan te nemen dat ingress verantwoordelijk is.
Maak van de Meilisearch-smoketest een releasecheck
Definieer voor Meilisearch vóór de launch een bekende succesvolle transactie: maak een index aan, importeer documenten, configureer filterable attributes en bewijs dat een typo-tolerante query en filter de verwachte records opleveren. Zet de prerequisites, de verwachte response en de cleanupstappen in version control, zonder secretwaarden. Pin de image waarmee je deze referentie vastlegt.
Gebruik de transactie om een vervanging en een onafhankelijke restore te valideren. De herstelde service is alleen acceptabel wanneer een dump wordt geïmporteerd in een clean server met dezelfde instellingen, hetzelfde aantal documenten en een representatieve ranking. Observeer tegelijkertijd het geheugengebruik voor batch indexing, tijdelijke schijfruimte tijdens index builds, het aantal documenten en gelijktijdig search-verkeer en maak van het traagste of meest beperkte onderdeel een service-level alert.
De gate heeft ook een negatieve test nodig: dien onschadelijke input in vlak bij de resource- of formatlimiet die bij deze boundary hoort: MEILI_ENV blijft op development staan of het datavolume gaat tijdens een redeploy verloren. Controleer of Meilisearch een bruikbare foutmelding geeft en de data behoudt, herstel de geldige toestand en voer de bekende succesvolle transactie opnieuw uit. Door beide resultaten te bewaren voorkom je dat een oppervlakkig health-endpoint het enige bewijs in productie wordt.
Houd Meilisearch expliciet terwijl Dockup de routing afhandelt
De one-click Meilisearch-deployment van Dockup moet vervanging veilig maken: de route blijft naar 7700 wijzen, secrets worden niet in de image ingebakken en persistente paden komen terug in de nieuwe container. Dezelfde deployment kan draaien op Dockup-compute of op een gekoppelde machine.
Rond het werk voor de app af door de lokale vereiste te bevestigen — schijfruimte voor indexes, plus extra ruimte voor rebuilds en dumps — het canonieke publieke adres toe te passen en deze acceptatiecheck uit te voeren: maak een index aan, importeer documenten, configureer filterable attributes en bewijs dat een typo-tolerante query en filter de verwachte records opleveren. Voeg het restore-resultaat toe aan het runbook voordat echte gebruikers arriveren.
Veelgestelde vragen
Wat heeft Meilisearch nodig voor een productie-deployment?
Routeer de Meilisearch-container op poort 7700 via één HTTPS-origin. De vereiste voor de lokale runtime is schijfruimte voor indexes, plus extra ruimte voor rebuilds en dumps. Noem Meilisearch pas gereed als je een index kunt aanmaken, documenten kunt importeren, filterable attributes kunt configureren en kunt bewijzen dat een typo-tolerante query en filter de verwachte records opleveren.
Welke Meilisearch-data hoort in een backup?
Maak /meili_data persistent en neem geplande dumps of snapshots en de persistente datadirectory op in hetzelfde recoverymanifest. Een clean Meilisearch-restore is alleen geslaagd wanneer een dump wordt geïmporteerd in een clean server met dezelfde instellingen, hetzelfde aantal documenten en een representatieve ranking.
Heeft Meilisearch HTTPS nodig achter een reverse proxy?
Gebruik HTTPS voor de publieke Meilisearch-origin en houd poort 7700 op de interne route. Pas de Meilisearch-instelling correct toe: serveer de HTTP API via één geauthenticeerde HTTPS-origin. Voor Meilisearch beschermt HTTPS credentials of gebruikerscontent tijdens transport en zorgt het voor consistent gedrag van clients die gevoelig zijn voor de origin.
Hoe test je een Meilisearch-upgrade?
Restore de huidige Meilisearch-state naar een geïsoleerde deployment, pas de kandidaatversie toe en voer de acceptatietransactie opnieuw uit. Let hier extra op, omdat de compatibiliteit van Meilisearch-dumps en de vereisten voor index rebuilds moeten worden gecontroleerd voordat je van versie wisselt. Houd de vorige Meilisearch-image beschikbaar totdat de grenzen voor datamigratie en rollback duidelijk zijn.
