A Meilisearch saját üzemeltetése 2026-ban: főkulcsok, indexek és dumpok
Üzemeltesd saját magad a Meilisearchöt helyes portokkal, perzisztens tárolással, HTTPS-sel, titkos kulcsokkal, biztonsági mentésekkel és frissítési ellenőrzésekkel. Tudd meg, hogyan javítható, ha a MEILI_ENV értéke development marad.
A Meilisearch saját üzemeltetése nem az első docker run parancsnál válik érdekessé, hanem az első újratelepítésnél. Ha a MEILI_ENV értéke development marad, vagy az adatkötet elveszik egy újratelepítés során, a Docker ettől még tökéletesen egészséges folyamatot jelezhet. Az alábbi telepítés a megfigyelhető működés köré épül: hozz létre egy indexet, importálj dokumentumokat, állítsd be a szűrhető attribútumokat, majd bizonyítsd, hogy egy elgépeléstűrő lekérdezés és szűrő a várt rekordokat adja vissza.
A Meilisearch feladata egyértelmű: elgépeléstűrő full-text keresés gyors HTTP API-val. Ez a leírás megmutatja, minek kell nyilvánosnak maradnia, minek kell privátnak maradnia, és mit kell egy biztonsági mentésnek helyreállítania.
Térképezd fel a Meilisearchöt a Docker használata előtt
A Meilisearch esetében válaszd külön a négy fő területet: a bejövő forgalmat, a 7700-as porton figyelő listenert, a tartós állapotot, valamint a kiegészítő szolgáltatásokat vagy a helyi kapacitást. A helyi futtatási követelmény az indexekhez szükséges lemezterület, a rebuildeléshez és a dumpokhoz szükséges tartalékkapacitással együtt. Tartsd explicit módon kezelve az életciklusát, hogy a Meilisearch gépek közötti áthelyezése ne módosítsa észrevétlenül a működését.
Futtasd le az ismert, megfelelően működő tranzakciót — hozz létre egy indexet, importálj dokumentumokat, állítsd be a szűrhető attribútumokat, majd bizonyítsd, hogy egy elgépeléstűrő lekérdezés és szűrő a várt rekordokat adja vissza — mielőtt késznek nyilvánítanád ezt a szétválasztást. Mérd meg a kötegelt indexelés memóriaigényét, az indexépítés közben használt ideiglenes lemezterületet, a dokumentumok számát és a párhuzamos keresési forgalmat, majd mentsd el az eredményeket a telepítési dokumentációval együtt. Ez egyszerre ad elfogadási kritériumot és első kapacitásalapot.
Tedd reprodukálhatóvá a Meilisearch indítását
Olyan parancsot használj, amely minden fontos döntést láthatóvá tesz. Ez az alapkonfiguráció a Meilisearchöt a host loopback interfészére köti, hozzáadja a szükséges adatmappolásokat, és megadja az első kötelező beállítást. A szolgáltatás kitétele előtt erősítsd meg a helyi követelményt: az indexekhez szükséges lemezterületet, a rebuildeléshez és a dumpokhoz szükséges tartalékkapacitással együtt.
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
A lebegő tageket cseréld tesztelt verzióra vagy digestre. Indítás után ellenőrizd a docker logs --tail 200 meilisearch kimenetét, és győződj meg arról, hogy a folyamat a 7700-as porton figyel. Ezután hajtsd végre a Meilisearch elfogadási műveletét; a gyökérútvonal válasza önmagában nem bizonyítja, hogy a teljes forgatókönyv sikeres: hozz létre egy indexet, importálj dokumentumokat, állítsd be a szűrhető attribútumokat, majd bizonyítsd, hogy egy elgépeléstűrő lekérdezés és szűrő a várt rekordokat adja vissza.
Adj a Meilisearchnek egy kanonikus címet
Kezeld a külső Meilisearch URL-t újratelepítéseken átívelő konfigurációként. Először egy hitelesített HTTPS originen keresztül tedd elérhetővé a HTTP API-t, majd irányítsd a hostnevet a 7700-as portra úgy, hogy az eredeti host és scheme változatlan maradjon.
A telepítési elérhetőségi ellenőrzőlista bizonyíthatja, hogy a kérések eljutnak a konténerbe. Ezt követően a jól ismert hibát — a MEILI_ENV értéke development marad, vagy az adatkötet elveszik egy újratelepítés során — a Meilisearchben, annak állapotában vagy a workloadban kell vizsgálni, nem pedig a tanúsítványkezelésben.
Állítsd helyre a Meilisearchöt egy üres gépen
A tartós helyreállítási készlet ütemezett dumpokból vagy snapshotokból, valamint a perzisztens adatkönyvtárból áll. A bootstrap előtt csatold a /meili_data könyvtárat, írj bele ártalmatlan mintaadatokat, majd cseréld le a konténert annak bizonyítására, hogy az útvonal valóban perzisztens. A kötet megvédi az adatokat a konténer lecserélésétől, de nem véd a host elvesztése, a véletlen törlés vagy az alkalmazásszintű sérülés ellen.
Olyan biztonsági mentéseket készíts, amelyek ismerik az adatforrást: élő adatbázisok esetében szükség szerint használj logikai dumpokat, és csak konzisztens állapotból másolj fájlokat. Legalább egy titkosított másolatot a Meilisearch hostjától elkülönítve tárolj. A visszaállítás elfogadási kritériuma legyen konkrét: egy dump importálható legyen egy tiszta szerverre ugyanazokkal a beállításokkal, dokumentumszámmal és reprezentatív rangsorolással. A visszaállítással tesztelt biztonsági mentésekről szóló útmutató bemutatja, miért nem elegendő önmagában egy sikeres job.
Védd a Meilisearch értékes részét
Ne örököld meg egy helyi tutorial biztonsági feltételezéseit. A Meilisearch sajátos kockázata, ha production környezetben master key nélkül indul el. Productionben ezért a master keyt az adminisztráció számára kell fenntartani, a böngészős keresőklienseknek pedig korlátozott jogosultságú search keyket kell adni.
A MEILI_MASTER_KEY-t a Meilisearchben betöltött szerepe szerint kezeld: az érzékeny értékeket tartsd ki a Gitből, dokumentáld a rotáció hatásait, és productionben soha ne helyettesítsd nyilvános példával. Korlátozd a fájlrendszer- és hálózati hozzáférést, védd a setup endpointokat, valamint határozz meg upload-, kérés- vagy végrehajtási limiteket a kötegelt indexelés memóriaigényére, az indexépítés közben használt ideiglenes lemezterületre, a dokumentumok számára és a párhuzamos keresési forgalomra.
A workloadot figyeld, ne csak a konténert
A kapacitásteszteknek a kötegelt indexelés memóriaigényét, az indexépítés közben használt ideiglenes lemezterületet, a dokumentumok számát és a párhuzamos keresési forgalmat kell terhelniük, nem pedig egy ismételten meghívott / útvonalat. Futtasd az „index létrehozása, dokumentumok importálása, szűrhető attribútumok beállítása, valamint annak bizonyítása, hogy egy elgépeléstűrő lekérdezés és szűrő a várt rekordokat adja vissza” forgatókönyvet reális párhuzamosság mellett, és rögzítsd a késleltetést, a hibaarányt és a tárhely növekedését.
A frissítési tervezésnek ezt a kockázatot is figyelembe kell vennie: verzióváltás előtt ellenőrizni kell a Meilisearch dump-kompatibilitását és az indexek rebuildelési követelményeit. Teszteld az új kiadást reprezentatív bemenettel, majd ismételd meg az elfogadási tranzakciót, és hasonlítsd össze az eredményt. Ha a MEILI_ENV értéke development marad, vagy az adatkötet elveszik egy újratelepítés során, rögzítsd a hibás tranzakciót, és vizsgáld meg az első érintett határfelületet ahelyett, hogy automatikusan a bejövő forgalmat tennéd felelőssé.
Alakítsd a Meilisearch smoke testjét release-ellenőrzéssé
A Meilisearch esetében még az indulás előtt határozz meg egy ismert, megfelelően működő tranzakciót: hozz létre egy indexet, importálj dokumentumokat, állítsd be a szűrhető attribútumokat, majd bizonyítsd, hogy egy elgépeléstűrő lekérdezés és szűrő a várt rekordokat adja vissza. Az előfeltételeket, az elvárt választ és a cleanup lépéseit titkos értékek nélkül tedd verziókezelésbe. Rögzítsd az alap létrehozásához használt image verzióját.
A tranzakcióval ellenőrizd a cserét és egy független visszaállítást is. A helyreállított szolgáltatás csak akkor fogadható el, ha egy dump importálható egy tiszta szerverre ugyanazokkal a beállításokkal, dokumentumszámmal és reprezentatív rangsorolással. Közben figyeld a kötegelt indexelés memóriaigényét, az indexépítés közben használt ideiglenes lemezterületet, a dokumentumok számát és a párhuzamos keresési forgalmat, majd a leglassabb vagy leginkább korlátozott részt alakítsd service-level alertté.
A kapunak negatív esetet is tartalmaznia kell: küldj be ártalmatlan bemenetet a határfelülethez kapcsolódó erőforrás- vagy formátumlimit közelében: a MEILI_ENV értéke development marad, vagy az adatkötet elveszik egy újratelepítés során. Erősítsd meg, hogy a Meilisearch használható hibát jelez, miközben megőrzi az adatokat, állítsd vissza az érvényes állapotot, majd futtasd le újra az ismert, megfelelően működő tranzakciót. A két eredmény megőrzése megakadályozza, hogy egy felszínes health endpoint legyen az egyetlen production bizonyíték.
Tartsd explicit módon a Meilisearchöt, miközben a Dockup kezeli az útválasztást
A Dockup egykattintásos Meilisearch-telepítésének biztonságossá kell tennie a cserét: az útvonal továbbra is a 7700-as portra mutat, a titkos értékek nem kerülnek bele az image-be, és a perzisztens útvonalak visszatérnek az új konténerben. Ugyanez a telepítés futhat Dockup compute-on vagy egy csatolt gépen.
Az alkalmazásspecifikus munkát a helyi követelmény megerősítésével fejezd be — az indexekhez szükséges lemezterülettel, a rebuildeléshez és a dumpokhoz szükséges tartalékkapacitással —, alkalmazd a kanonikus nyilvános címet, és futtasd le ezt az elfogadási ellenőrzést: hozz létre egy indexet, importálj dokumentumokat, állítsd be a szűrhető attribútumokat, majd bizonyítsd, hogy egy elgépeléstűrő lekérdezés és szűrő a várt rekordokat adja vissza. A valódi felhasználók megjelenése előtt add hozzá a visszaállítás eredményét a runbookhoz.
Gyakran ismételt kérdések
Mire van szüksége a Meilisearchnek production telepítéshez?
Irányítsd a Meilisearch konténerét a 7700-as porton keresztül egyetlen HTTPS originen át. A helyi futtatási követelmény az indexekhez szükséges lemezterület, a rebuildeléshez és a dumpokhoz szükséges tartalékkapacitással együtt. Ne tekintsd késznek a Meilisearchöt addig, amíg nem tudsz indexet létrehozni, dokumentumokat importálni, szűrhető attribútumokat beállítani, valamint bizonyítani, hogy egy elgépeléstűrő lekérdezés és szűrő a várt rekordokat adja vissza.
Mely Meilisearch-adatok tartoznak a biztonsági mentésbe?
Tedd perzisztenssé a /meili_data könyvtárat, és ugyanabba a helyreállítási manifestbe vedd fel az ütemezett dumpokat vagy snapshotokat, valamint a perzisztens adatkönyvtárat. A tiszta Meilisearch-visszaállítás csak akkor sikeres, ha egy dump importálható egy tiszta szerverre ugyanazokkal a beállításokkal, dokumentumszámmal és reprezentatív rangsorolással.
Szükséges HTTPS a Meilisearch számára reverse proxy mögött?
A nyilvános Meilisearch originnél használj HTTPS-t, a 7700-as portot pedig hagyd a belső útvonalon. A Meilisearch-beállítást megfelelően alkalmazd: a HTTP API-t egyetlen hitelesített HTTPS originen keresztül szolgáld ki. A Meilisearch esetében a HTTPS védi az átvitel közbeni hitelesítő adatokat vagy felhasználói tartalmakat, és egységessé teszi az originérzékeny kliensműködést.
Hogyan kell tesztelni egy Meilisearch-frissítést?
Állítsd helyre az aktuális Meilisearch-állapotot egy elkülönített telepítésben, alkalmazd a jelölt verziót, majd futtasd le újra az elfogadási tranzakciót. Különösen figyelj erre, mert verzióváltás előtt ellenőrizni kell a Meilisearch dump-kompatibilitását és az indexek rebuildelési követelményeit. Tartsd meg az előző Meilisearch-image-et addig, amíg nem érted az adat-migráció és a rollback határát.
