Index denníkaDockup / poznámka z terénu
Note / self-host-meilisearch

Ako self-hostovať Meilisearch v roku 2026: master kľúče, indexy a dumpy

Self-hostujte Meilisearch so správnymi portami, perzistentným úložiskom, HTTPS, secrets, zálohami a kontrolami pri upgrade. Zistite, ako opraviť stav, keď MEILI_ENV zostáva nastavené na development.

Self-hostovanie Meilisearch začne byť zaujímavé pri prvom redeployi, nie pri prvom docker run. Ak MEILI_ENV zostáva nastavené na development alebo sa dátový volume pri redeployi stratí, Docker môže stále hlásiť úplne zdravý proces. Nasadenie nižšie je postavené na pozorovateľnom správaní: vytvoriť index, importovať dokumenty, nakonfigurovať atribúty použiteľné vo filtroch a overiť, že query s toleranciou preklepov a filter vracajú očakávané záznamy.

Účel Meilisearchu je jednoznačný: fulltextové vyhľadávanie s toleranciou preklepov a rýchlym HTTP API. Tento opis určuje, čo musí zostať verejne dostupné, čo má zostať súkromné a čo musí záloha obnoviť.

Zmapujte Meilisearch pred prácou s Dockerom

Pri Meilisearchi oddeľte štyri oblasti: ingress, listener na porte 7700, perzistentný stav a podporné služby alebo lokálnu kapacitu. Lokálna runtime požiadavka je disk s kapacitou pre indexy a rezervou na rebuildy a dumpy. Životný cyklus majte explicitne definovaný, aby presun Meilisearchu medzi hostiteľmi potichu nezmenil jeho správanie.

Známy funkčný scenár — vytvoriť index, importovať dokumenty, nakonfigurovať atribúty použiteľné vo filtroch a overiť, že query s toleranciou preklepov a filter vracajú očakávané záznamy — spustite ešte predtým, než budete toto oddelenie považovať za dokončené. Zmerajte pamäť pri batchovom indexovaní, dočasné miesto na disku počas tvorby indexov, počet dokumentov a súbežnú prevádzku vyhľadávania a výsledok uložte spolu so záznamom o nasadení. Získate tým akceptačné kritérium aj prvý kapacitný baseline.

Zaistite reprodukovateľný štart Meilisearchu

Použite príkaz, ktorý sprístupní každé dôležité nastavenie. Tento základný príklad viaže Meilisearch na loopback hostiteľa, pridáva známe mounty s dátami a dodáva prvé potrebné nastavenie. Pred vystavením služby overte lokálnu požiadavku: disk s kapacitou pre indexy a rezervou na rebuildy a dumpy.

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

Plávajúce tagy nahraďte otestovanou verziou alebo digestom. Po spustení skontrolujte docker logs --tail 200 meilisearch a overte, že proces počúva na porte 7700. Potom vykonajte akceptačnú operáciu Meilisearchu; odpoveď koreňovej stránky nedokazuje úspech celého scenára: vytvoriť index, importovať dokumenty, nakonfigurovať atribúty použiteľné vo filtroch a overiť, že query s toleranciou preklepov a filter vracajú očakávané záznamy.

Dajte Meilisearchu jednu kanonickú adresu

Externú URL Meilisearchu považujte za konfiguráciu, ktorá pretrvá aj po redeployi. Najprv sprístupnite HTTP API cez jeden autentifikovaný HTTPS origin a potom smerujte hostname na port 7700 so zachovaním pôvodného hosta a schémy.

Checklist dostupnosti nasadenia môže overiť, že požiadavky vstupujú do kontajnera. Od tohto bodu treba známu chybu — MEILI_ENV zostáva nastavené na development alebo sa dátový volume pri redeployi stratí — hľadať v Meilisearchi, jeho stave alebo workload-e, nie v automatizácii certifikátov.

Obnovte Meilisearch na prázdnom hostiteľovi

Trvalú sadu na obnovu tvoria plánované dumpy alebo snapshots spolu s perzistentným dátovým adresárom. Pred bootstrapom pripojte /meili_data, zapíšte neškodné testovacie dáta a nahraďte kontajner, aby ste overili, že táto cesta je skutočne perzistentná. Volume chráni dáta pred nahradením kontajnera, nie však pred stratou hostiteľa, náhodným vymazaním alebo poškodením na aplikačnej úrovni.

Vytvárajte zálohy s ohľadom na zdroj dát: pri live databázach používajte v prípade potreby logické dumpy a súbory kopírujte iba z konzistentného stavu. Jednu zašifrovanú kópiu uchovávajte mimo hostiteľa Meilisearchu. Akceptačné kritérium obnovy musí byť konkrétne — dump sa importuje do čistého servera s rovnakými nastaveniami, počtom dokumentov a reprezentatívnym rankingom. Príručka k zálohám overeným obnovou vysvetľuje, prečo samotný úspech jobu nestačí.

Chráňte cennú časť Meilisearchu

Bezpečnostné predpoklady z lokálneho tutorialu nepreberajte automaticky. Špecifickým rizikom Meilisearchu je spustenie produkcie bez master kľúča. Produkcia by preto mala master kľúč vyhradiť na administráciu a browserovým klientom vyhľadávania poskytovať obmedzené search kľúče.

S MEILI_MASTER_KEY zaobchádzajte podľa jeho úlohy v Meilisearchi: citlivé hodnoty uchovávajte mimo Gitu, zdokumentujte dôsledky rotácie a v produkcii nikdy nepoužívajte verejný príklad. Obmedzte prístup k súborovému systému a sieti, chráňte setup endpointy a definujte limity uploadov, požiadaviek alebo vykonávania pre pamäť pri batchovom indexovaní, dočasné miesto na disku počas tvorby indexov, počet dokumentov a súbežnú prevádzku vyhľadávania.

Sledujte workload, nielen kontajner

Kapacitné testy by mali pokrývať pamäť pri batchovom indexovaní, dočasné miesto na disku počas tvorby indexov, počet dokumentov a súbežnú prevádzku vyhľadávania, nie opakované požiadavky na /. Spustite scenár „vytvoriť index, importovať dokumenty, nakonfigurovať atribúty použiteľné vo filtroch a overiť, že query s toleranciou preklepov a filter vracajú očakávané záznamy“ pri realistickej súbežnosti a zaznamenajte latenciu, chybovosť a rast úložiska.

Plánovanie upgrade musí zohľadniť toto riziko: pred zmenou verzie treba overiť kompatibilitu dumpov Meilisearchu a požiadavky na rebuild indexov. Nové vydanie otestujte s reprezentatívnym vstupom, potom zopakujte akceptačnú transakciu a porovnajte jej výsledok. Ak MEILI_ENV zostáva nastavené na development alebo sa dátový volume pri redeployi stratí, zachyťte zlyhávajúcu transakciu a skontrolujte prvú zapojenú hranicu namiesto predpokladu, že problém spôsobuje ingress.

Premeňte smoke test Meilisearchu na release check

Pre Meilisearch si pred spustením definujte známy funkčný scenár: vytvoriť index, importovať dokumenty, nakonfigurovať atribúty použiteľné vo filtroch a overiť, že query s toleranciou preklepov a filter vracajú očakávané záznamy. Jeho predpoklady, očakávanú odpoveď a kroky čistenia uložte do version control bez secretov. Image použitý na vytvorenie tejto referencie pripnite na konkrétnu verziu.

Túto transakciu použite na overenie náhrady aj nezávislej obnovy. Obnovená služba je akceptovateľná iba vtedy, keď sa dump importuje do čistého servera s rovnakými nastaveniami, počtom dokumentov a reprezentatívnym rankingom. Zároveň sledujte pamäť pri batchovom indexovaní, dočasné miesto na disku počas tvorby indexov, počet dokumentov a súbežnú prevádzku vyhľadávania a najpomalšiu alebo najviac obmedzenú časť premeňte na alert na úrovni služby.

Gate potrebuje aj negatívny prípad: odošlite neškodný vstup blízko limitu zdrojov alebo formátu súvisiaceho s touto hranicou: MEILI_ENV zostáva nastavené na development alebo sa dátový volume pri redeployi stratí. Overte, že Meilisearch vytvorí použiteľnú chybovú správu a zároveň zachová dáta, obnovte platný stav a zopakujte známy funkčný scenár. Uchovanie oboch výsledkov zabráni tomu, aby sa povrchný health endpoint stal jediným produkčným dôkazom.

Nechajte Meilisearch explicitný, kým Dockup rieši routing

One-click nasadenie Meilisearchu v Dockupe by malo zaistiť bezpečnú náhradu: route naďalej smeruje na port 7700, secrets nie sú vložené do image a perzistentné cesty sa vrátia v novom kontajneri. To isté nasadenie môže bežať na výpočtovej infraštruktúre Dockup alebo na pripojenom stroji.

Aplikačne špecifickú prácu dokončite overením lokálnej požiadavky — disk s kapacitou pre indexy a rezervou na rebuildy a dumpy, nastavením kanonickej verejnej adresy a spustením tejto akceptačnej kontroly: vytvoriť index, importovať dokumenty, nakonfigurovať atribúty použiteľné vo filtroch a overiť, že query s toleranciou preklepov a filter vracajú očakávané záznamy. Výsledok obnovy pridajte do runbooku ešte pred príchodom skutočných používateľov.

Často kladené otázky

Čo Meilisearch potrebuje na produkčné nasadenie?

Kontajner Meilisearchu smerujte na porte 7700 cez jeden HTTPS origin. Lokálna runtime požiadavka je disk s kapacitou pre indexy a rezervou na rebuildy a dumpy. Meilisearch nepovažujte za pripravený, kým nedokážete vytvoriť index, importovať dokumenty, nakonfigurovať atribúty použiteľné vo filtroch a overiť, že query s toleranciou preklepov a filter vracajú očakávané záznamy.

Ktoré dáta Meilisearchu patria do zálohy?

Zachovajte /meili_data a do rovnakého recovery manifestu zahrňte plánované dumpy alebo snapshots spolu s perzistentným dátovým adresárom. Čistá obnova Meilisearchu je úspešná iba vtedy, keď sa dump importuje do čistého servera s rovnakými nastaveniami, počtom dokumentov a reprezentatívnym rankingom.

Vyžaduje Meilisearch za reverse proxy HTTPS?

Pre verejný origin Meilisearchu používajte HTTPS a port 7700 ponechajte na internej route. Nastavenie Meilisearchu aplikujte správne: HTTP API sprístupnite cez jeden autentifikovaný HTTPS origin. Pri Meilisearchi HTTPS chráni prihlasovacie údaje alebo obsah používateľov počas prenosu a zachováva konzistentné správanie klienta závislé od originu.

Ako testovať upgrade Meilisearchu?

Obnovte aktuálny stav Meilisearchu do izolovaného nasadenia, aplikujte kandidátsku verziu a zopakujte jeho akceptačnú transakciu. Venujte tomu mimoriadnu pozornosť, pretože pred zmenou verzie treba overiť kompatibilitu dumpov Meilisearchu a požiadavky na rebuild indexov. Predchádzajúci image Meilisearchu si ponechajte, kým nebudete rozumieť hranici migrácie dát a rollbacku.