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

A Langflow saját üzemeltetése 2026-ban: flow-k, API-hozzáférés és perzisztens állapot

Üzemeltesd saját környezetben a Langflow-t megfelelő portokkal, perzisztens tárhellyel, HTTPS-sel, titkos értékekkel, biztonsági mentésekkel és frissítési ellenőrzésekkel. Ismerd meg, hogyan javítható az a helyzet, amikor egy titkos érték újraindítás után megváltozik.

Kezeld a Langflow-t kis rendszerként, ne egyszerű Docker image-ként. A Langflow felhasználói célja egyértelmű: vizuális LLM workflow-builder, amely API-ként teszi elérhetővé a flow-kat; a deployment csak akkor elfogadható, ha létre tudsz hozni egy flow-t egy provider credentiallel, le tudod futtatni az editorban, meg tudod hívni az API-ját, és egy szolgáltatás-újraindítás után is ellenőrizni tudod a választ.

Ez a megkülönböztetés felszínre hozza azt a hibamódot, amellyel az üzemeltetők a lokális tesztelés után találkoznak: egy secret újraindítás után megváltozik, vagy hiányoznak a komponensfüggőségek. Emellett a backup- és upgrade-tervet is elég konkréttá teszi ahhoz, hogy tesztelni lehessen.

Először határozd meg, mit jelent a siker a Langflow esetében

Ne hagyd, hogy a Langflow image véletlenül meghatározza a production architektúrát. Az image a 7860-as porton biztosít egy processzt; a storage, a routing és a külső követelmények továbbra is tudatosan kialakított életciklust igényelnek. A Langflow hálózati szerződése a tartós állapothoz használt Postgres, valamint a model-provider credentialök együttese. A privát endpointokat tartsd belső DNS-en, csak a szükséges kimenő hívásokat engedélyezd, és adj a Langflow-nak korlátozott jogosultságú service credentialt.

A deployment akkor áll készen a mélyebb tesztelésre, ha létre tud hozni egy flow-t egy provider credentiallel, le tudja futtatni az editorban, meg tudja hívni az API-ját, és egy szolgáltatás-újraindítás után is ellenőrizni tudja a választ. Kövesd a tranzakciót a logokban, és figyeld a komponensek végrehajtását, a modellek késleltetését, a párhuzamos API-hívásokat, a fájlok feldolgozását és az adatbázis-kapcsolatok számát. Ezek a megfigyelések megmutatják, hogy a jelenlegi topológia a megfelelő komponenst izolálja-e.

Indítsd el a Langflow-t jól megfigyelhető alapbeállításokkal

A kezdeti Langflow-indítást tartsd annyira reprodukálhatónak, hogy pull requestben is felülvizsgálható legyen.

docker run -d \
  --name langflow \
  --restart unless-stopped \
  -p 127.0.0.1:7860:7860 \
  -v langflow-data:/app/langflow \
  -e LANGFLOW_SECRET_KEY=replace-with-a-long-random-value \
  langflowai/langflow:latest

Ne hagyatkozz a latest tagre, miután már valódi adatok léteznek. Rögzítsd a működő digestet, a container usert és a mount tulajdonjogát. Kövesd végig az alkalmazás logját egy teljes teszten — hozz létre egy flow-t egy provider credentiallel, futtasd az editorban, hívd meg az API-ját, és ellenőrizd a választ egy szolgáltatás-újraindítás után —, és jegyezd fel az esetleges migrationöket, mielőtt a route-ot production forgalom mögé helyezed.

Teszteld a Langflow-t a szerveren kívülről

A külső Langflow URL-t kezeld olyan konfigurációként, amelynek redeployok után is meg kell maradnia. Először állítsd be az API-kliensek és az authentication callbackek által használt publikus címet, majd irányítsd a hostnevet a 7860-as portra úgy, hogy az eredeti host és scheme változatlan maradjon.

A deployment elérhetőségi ellenőrzőlistája bizonyítani tudja, hogy a kérések eljutnak a containerig. Ezt követően az ismert hibát — egy secret újraindítás után megváltozik, vagy hiányoznak a komponensfüggőségek — a Langflow-ban, az állapotában vagy a workloadban kell vizsgálni, nem pedig a certificate automationben.

Válaszd külön a cserélhető containereket és a tartós adatokat

Egy container image újra letölthető; a flow-k, az adatbázis, az API-kulcsok és a feltöltött fájlok nem. A bootstrap előtt mountold a /app/langflow könyvtárat, írj bele ártalmatlan mintaadatokat, majd cseréld le a containert annak bizonyítására, hogy az útvonal valóban perzisztens. Az effektív mountot vizsgáld meg ahelyett, hogy egy Compose-fájlnévben bíznál, és ellenőrizd, hogy a runtime user írhat-e oda, ahol a Langflow ezt elvárja.

Válaszd ki a megőrzési időt és a hoston kívüli célhelyet, majd gyakorold a helyreállítást a production érintése nélkül. A gyakorlat csak akkor sikeres, ha a flow-k, a felhasználók, a credentialök és a fájlok visszaállnak, és egy meglévő API-kliens végre tudja hajtani a helyreállított flow-t. Adatbázis-alapú állapot esetén a storage snapshotokat alkalmazáskonzisztens exportokkal egészítsd ki a point-in-time recovery és a snapshotok összehasonlítása című leírás szerint.

A Langflow-ra jellemző biztonsági döntések

Ne örököld meg egy lokális tutorial biztonsági feltételezéseit. A Langflow sajátos kockázata, hogy authentication nélkül elérhetővé válnak a flow-k létrehozására szolgáló funkciók és a tárolt provider-kulcsok. Production környezetben ezért védeni kell a buildert, korlátozni kell az API-hozzáférést, a model credentialöket pedig titkosított, szerveroldali tárolásban kell tartani.

A LANGFLOW_SECRET_KEY értékét a Langflow-ban betöltött szerepének megfelelően kezeld: a sensitive értékeket tartsd távol a Gittől, dokumentáld a rotáció hatásait, és productionben soha ne helyettesítsd nyilvános példával. Korlátozd a filesystem- és hálózati hozzáférést, védd a setup endpointokat, és határozz meg upload-, request- vagy execution limiteket a komponensek végrehajtására, a modellek késleltetésére, a párhuzamos API-hívásokra, a fájlok feldolgozására és az adatbázis-kapcsolatok számára.

Kapacitás- és frissítési ellenőrzések

A Langflow első hasznos operációs metrikája annak ellenőrzése, hogy létre tud-e hozni egy flow-t egy provider credentiallel, le tudja-e futtatni az editorban, meg tudja-e hívni az API-ját, és egy szolgáltatás-újraindítás után is ellenőrizni tudja-e a választ. Ezt egészítsd ki a komponensek végrehajtására, a modellek késleltetésére, a párhuzamos API-hívásokra, a fájlok feldolgozására és az adatbázis-kapcsolatok számára vonatkozó telítettségi jelekkel. Egy kizárólag a processt vizsgáló probe ne hívjon drága függőségeket, és ne indítsa újra a containert csak azért, mert egy upstream átmenetileg nem érhető el.

A frissítéseket adatváltozásként kezeld, mert a komponenscsomagok, az adatbázis-migrationök és a szerializált flow-k változhatnak a Langflow-kiadások között. Pineld a verziókat, gyakorold a frissítést visszaállított állapoton, és tartsd elérhetően az előző imaget, amíg a rollback érvényes marad. Ha egy secret újraindítás után megváltozik, vagy hiányoznak a komponensfüggőségek, őrizd meg az újraindítás előtti logokat; ezek általában tartalmazzák az okot feltáró üzenetet.

Dokumentálj egy ismerten jól működő Langflow-deploymentet

Alakítsd át a Langflow smoke tesztjét ismételhető release paranccsá vagy rövid runbookká. A kimenetének ezt az eredményt kell bizonyítania: hozz létre egy flow-t egy provider credentiallel, futtasd az editorban, hívd meg az API-ját, és ellenőrizd a választ egy szolgáltatás-újraindítás után. Az eredménnyel együtt rögzítsd az alkalmazás verzióját, a container digestjét, a route hostname-jét és a tesztadat-azonosítót.

Futtasd le ugyanezt az ellenőrzést egy rutin containercsere után, valamint a flow-k, az adatbázis, az API-kulcsok és a feltöltött fájlok máshol történő visszaállítása után. A restore akkor sikeres, ha a flow-k, a felhasználók, a credentialök és a fájlok visszatérnek, és egy meglévő API-kliens végre tudja hajtani a helyreállított flow-t. Hasonlítsd össze a komponensek végrehajtásához, a modellek késleltetéséhez, a párhuzamos API-hívásokhoz, a fájlok feldolgozásához és az adatbázis-kapcsolatokhoz kapcsolódó időzítést és erőforrás-felhasználást; a jelentős változást akkor is érdemes kivizsgálni, ha a végső művelet továbbra is sikeres.

Ezután próbálj ki egy biztonságos hibát: ideiglenesen vond meg a tesztidentitás hozzáférését a tartós állapothoz használt Postgrestől és a model-provider credentialöktől. Ellenőrizd, hogy a Langflow jelzi-e a hibát, majd romboló kézi módosítások nélkül visszatér-e a normál működéshez. Csak a szükséges, redaktált logrészletet őrizd meg. Ez a négy részből álló gate az indítást, a perzisztenciát, a helyreállítást és a hibakezelést fedi le.

Mit érdemes a Dockupnak automatizálnia a Langflow esetében?

A Langflow platformrétege a 7860-as portból, az ingressből, a TLS-ből, a runtime-konfigurációból, a storage-ból és a függőségek elérhetőségéből áll. A Dockup ezeket az elemeket reprodukálni tudja a saját infrastruktúrájához vagy egy ügyfél által csatlakoztatott szerverhez.

Ezután az üzemeltető fejezi be a product layert: állítsa be az API-kliensek és az authentication callbackek által használt publikus címet; érvényesítse ezt a hozzáférési szabályt — védje a buildert, korlátozza az API-hozzáférést, és tartsa a model credentialöket titkosított, szerveroldali tárolásban —; majd futtassa a „hozz létre egy flow-t egy provider credentiallel, futtasd az editorban, hívd meg az API-ját, és ellenőrizd a választ egy szolgáltatás-újraindítás után” tesztet. Ha ezt a tesztet a deployment mellett rögzíted, elkerülhető az automatikus provisioning és az alkalmazás-készenlét összekeverése.

Gyakran ismételt kérdések

Mire van szüksége a Langflow-nak production deployment esetén?

Irányítsd a Langflow containert a 7860-as porton keresztül egyetlen HTTPS originre. A támogató hálózati követelmény a tartós állapothoz használt Postgres, valamint a model-provider credentialök. Ne tekintsd késznek a Langflow-t addig, amíg létre nem tudsz hozni egy flow-t egy provider credentiallel, le nem tudod futtatni az editorban, meg nem tudod hívni az API-ját, és egy szolgáltatás-újraindítás után nem tudod ellenőrizni a választ.

Mely Langflow-adatoknak kell szerepelniük a backupban?

Tartsd meg a /app/langflow könyvtárat, és ugyanabba a recovery manifestbe vedd fel a flow-kat, az adatbázist, az API-kulcsokat és a feltöltött fájlokat is. A tiszta Langflow-restore csak akkor sikeres, ha a flow-k, a felhasználók, a credentialök és a fájlok visszatérnek, és egy meglévő API-kliens végre tudja hajtani a helyreállított flow-t.

Szüksége van a Langflow-nak HTTPS-re reverse proxy mögött?

A publikus Langflow originhez használj HTTPS-t, a 7860-as portot pedig tartsd a belső route-on. A Langflow-beállítást megfelelően alkalmazd: állítsd be az API-kliensek és az authentication callbackek által használt publikus címet. A Langflow esetében a HTTPS védi a credentialöket és a felhasználói tartalmat az átvitel során, valamint konzisztensen tartja az originérzékeny kliensviselkedést.

Hogyan kell tesztelni egy Langflow-frissítést?

Állítsd vissza a jelenlegi Langflow-állapotot egy izolált deploymentbe, alkalmazd a jelölt verziót, majd ismételd meg az elfogadási tranzakciót. Különösen figyelj erre, mert a komponenscsomagok, az adatbázis-migrationök és a szerializált flow-k változhatnak a Langflow-kiadások között. Tartsd meg az előző Langflow-imaget, amíg nem tisztázod annak adatmigrationre és rollbackre vonatkozó határait.