NaplóindexDockup / terepjegyzet
Note / self-host-meilisearch

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.