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

Ako si v roku 2026 hostovať LibreTranslate: modely, limity API a trvalé dáta

Hostujte LibreTranslate sami so správnymi portami, persistentným úložiskom, HTTPS, secrets, zálohami a kontrolami aktualizácií. Zistite, ako opraviť stav, keď sa modely nestiahli.

Ak ste sa už pokúšali hostovať LibreTranslate sami, pravdepodobne poznáte tento frustrujúci stav: UI sa zobrazí, ale modely sa nestiahli alebo požadovaná dvojica jazykov nie je dostupná. Opätovné vytvorenie kontajnera len zriedka vyrieši nesúlad medzi URL, stavom a dependencies.

Tento návod používa jedno konkrétne kritérium úspešného dokončenia — vypísať nainštalované jazyky, preložiť pevnú vetu oboma smermi a overiť quota API kľúča a error responses. Každé konfiguračné rozhodnutie sa posudzuje podľa tohto kritéria, nie podľa zelenej značky kontajnera.

Obnovenie LibreTranslate na prázdnom hoste

Pred vytvorením prvého skutočného záznamu si vypíšte stav: stiahnuté modely, databázu API kľúčov a vlastnú konfiguráciu. Pred bootstrapom pripojte /home/libretranslate/.local, zapíšte neškodné testovacie dáta a nahraďte kontajner, aby ste overili, že táto cesta je skutočne persistentná. Pripojenie potvrďte zápisom neškodných dát, nahradením LibreTranslate a ich následným načítaním.

Snapshots sú užitočné na rýchly rollback, no v prípade straty hosta alebo volume potrebujete aj nezávislú zálohu. Obnovte dáta do prázdneho prostredia s pinned image a overte, že sa vrátia modely aj stav API kľúčov a že regression corpus dokončí spracovanie s prijateľným výstupom. Použite persistent volumes a snapshots, aby tieto dva recovery mechanizmy zostali oddelené.

Porty, procesy a privátne služby

Nedovoľte, aby image LibreTranslate náhodou určoval produkčnú architektúru. Image poskytuje proces na porte 5000; storage, routing a externé požiadavky však stále potrebujú premyslené lifecycles. Lokálna runtime požiadavka pozostáva z úložiska na sťahovanie modelov a CPU alebo GPU vhodného pre dané dvojice jazykov. Jeho lifecycle majte explicitne definovaný, aby presun LibreTranslate medzi hostmi potichu nezmenil jeho správanie.

Deployment je pripravený na podrobnejšie testovanie vtedy, keď dokáže vypísať nainštalované jazyky, preložiť pevnú vetu oboma smermi a overiť quota API kľúča a error responses. Sledujte transakciu v logoch a monitorujte načítané jazykové modely, CPU inference time, paralelné požiadavky a miesto na disku spotrebované sťahovanými modelmi. Tieto pozorovania ukážu, či aktuálna topológia izoluje správny komponent.

Overenie deploymentu LibreTranslate od začiatku do konca

Produkčný gate pre LibreTranslate by mal vedieť vykonať človek, ktorý deployment nevytváral. Poskytnite mu pinned version, testovací účet bez citlivých údajov a túto úlohu: vypísať nainštalované jazyky, preložiť pevnú vetu oboma smermi a overiť quota API kľúča a error responses. Ak pokyny vyžadujú nezdokumentovaný shell access, služba ešte nie je prevádzkovo pripravená.

Gate zopakujte po nahradení samotného kontajnera. Potom obnovte stiahnuté modely, databázu API kľúčov a vlastnú konfiguráciu do prázdnej infraštruktúry a overte, že sa vrátia modely aj stav API kľúčov a že regression corpus dokončí spracovanie s prijateľným výstupom. Počas oboch úspešných behov zmerajte načítané jazykové modely, CPU inference time, paralelné požiadavky a miesto na disku spotrebované sťahovanými modelmi; neočakávané rozdiely často odhalia chýbajúcu cache, index, worker alebo data mount.

Pridajte failure drill: odošlite neškodný vstup blízko resource alebo format limitu súvisiaceho s touto hranicou: modely sa nestiahli alebo požadovaná dvojica jazykov nie je dostupná. LibreTranslate by mal vygenerovať užitočnú chybu, zachovať existujúci stav a po návrate platnej podmienky sa zotaviť. Uložte timestamps a relevantné riadky logov, pričom secrets redigujte. Tieto dôkazy sa stanú referenciou pre ďalšiu image alebo zmenu konfigurácie.

Nastavenia kontajnera, ktoré sa oplatí skontrolovať

Použite príkaz, ktorý sprístupní všetky dôležité voľby. Tento baseline viaže LibreTranslate na loopback hosta, pridáva známe data mounts a poskytuje prvé požadované nastavenie. Pred sprístupnením služby potvrďte lokálnu požiadavku: úložisko na sťahovanie modelov a CPU alebo GPU vhodné pre dané dvojice jazykov.

docker run -d \
  --name libretranslate \
  --restart unless-stopped \
  -p 127.0.0.1:5000:5000 \
  -v libretranslate-data:/home/libretranslate/.local \
  -e LT_API_KEYS=true \
  libretranslate/libretranslate:latest

Floating tags nahraďte otestovanou verziou alebo digestom. Po spustení skontrolujte docker logs --tail 200 libretranslate a potvrďte, že proces počúva na porte 5000. Potom vykonajte acceptance action pre LibreTranslate; odpoveď root page nedokazuje, že celý scenár funguje: vypíšte nainštalované jazyky, preložte pevnú vetu oboma smermi a overte quota API kľúča a error responses.

Credentials, roly a vystavené rozhrania

Bezpečnostným rizikom špecifickým pre aplikáciu je prevádzka neobmedzeného verejného API, ktoré môžu ostatní vyčerpať. Prevádzkovým riešením je zapnúť API keys alebo upstream authentication, obmedziť rate limit verejných callerov a nainštalovať iba potrebné dvojice jazykov. Bootstrap dokončite cez obmedzenú route a dočasný setup access ihneď odstráňte.

LT_API_KEYS riadi správanie, nie confidentiality; overte jeho type a value a skutočné credentials LibreTranslate ukladajte oddelene. Procesu LibreTranslate poskytnite iba zdokumentované mounts a dependency routes; vyhnite sa prístupu k rootu hosta a Docker socketu. Logujte neúspešnú autentifikáciu a konfiguračné chyby, no redigujte tokeny, connection strings a obsah používateľov.

Rozlišujte interné a externé URL

Vydanie TLS certifikátu je iba polovicou route LibreTranslate. API sprístupnite cez HTTPS a zdokumentujte správnu base path. Internú prevádzku smerujte na port 5000 a forwardujte externú scheme, aby vygenerované URL a secure cookies zostali konzistentné.

Kompletný scenár LibreTranslate spúšťajte z čistej siete, nielen cez root page. Chybu 502 alebo zlyhanie certifikátu môžete izolovať pomocou automatického nastavenia domény a TLS. Ak traffic dosiahne proces a modely sa nestiahli alebo požadovaná dvojica jazykov nie je dostupná, diagnostikujte tento stav na mieste jeho vzniku namiesto pridávania ďalších redirectov.

Failure drills pre LibreTranslate

Capacity testy by mali overovať načítané jazykové modely, CPU inference time, paralelné požiadavky a miesto na disku spotrebované sťahovanými modelmi, nie opakovanú požiadavku na /. Spustite scenár „vypísať nainštalované jazyky, preložiť pevnú vetu oboma smermi a overiť quota API kľúča a error responses“ pri realistickej concurrency a zaznamenajte latency, error rate a rast storage.

Pri plánovaní upgrade treba počítať s týmto rizikom: packages modelov a server releases môžu zmeniť výsledok prekladu, preto udržiavajte malý regression corpus. Nové release otestujte s reprezentatívnym vstupom, potom zopakujte acceptance transaction a porovnajte výsledok. Ak sa modely nestiahli alebo požadovaná dvojica jazykov nie je dostupná, zaznamenajte neúspešnú transakciu a preskúmajte prvú zapojenú boundary namiesto predpokladu, že problém spôsobuje ingress.

Nasadenie LibreTranslate na Dockup bez straty jeho hraníc

Šablóna Dockup by mala obsahovať image, port 5000, mounts, health timing, doménu, TLS a secret delivery. Dockup by mal zachovať runtime settings LibreTranslate, zatiaľ čo operátor potvrdí túto lokálnu požiadavku: úložisko na sťahovanie modelov a CPU alebo GPU vhodné pre dané dvojice jazykov. Rovnaký deployment môže smerovať na servery Dockup alebo na kapacitu pripojenú zákazníkom.

Po sprístupnení route aplikujte public setting a skúste vypísať nainštalované jazyky, preložiť pevnú vetu oboma smermi a overiť quota API kľúča a error responses. Zálohujte stiahnuté modely, databázu API kľúčov a vlastnú konfiguráciu a obnovu zahrňte do operating plan; ide o zodpovednosti LibreTranslate, ktoré zostávajú viditeľné aj po provisioning infraštruktúry.

Často kladené otázky

Čo LibreTranslate potrebuje na produkčný deployment?

Kontajner LibreTranslate smerujte cez jeden HTTPS origin na porte 5000. Lokálna runtime požiadavka pozostáva z úložiska na sťahovanie modelov a CPU alebo GPU vhodného pre dané dvojice jazykov. LibreTranslate nepovažujte za pripravený, kým nedokážete vypísať nainštalované jazyky, preložiť pevnú vetu oboma smermi a overiť quota API kľúča a error responses.

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

Zachovajte /home/libretranslate/.local a do rovnakého recovery manifestu zahrňte stiahnuté modely, databázu API kľúčov a vlastnú konfiguráciu. Čistý restore LibreTranslate je úspešný iba vtedy, keď sa vrátia modely aj stav API kľúčov a regression corpus dokončí spracovanie s prijateľným výstupom.

Vyžaduje LibreTranslate HTTPS za reverse proxy?

Pre verejný origin LibreTranslate používajte HTTPS a port 5000 ponechajte na internej route. Nastavenie LibreTranslate aplikujte správne: API sprístupnite cez HTTPS a zdokumentujte správnu base path. V prípade LibreTranslate HTTPS chráni credentials alebo obsah používateľov pri prenose a udržiava konzistentné správanie klienta závislé od originu.

Ako otestovať upgrade LibreTranslate?

Obnovte aktuálny stav LibreTranslate do izolovaného deploymentu, aplikujte candidate version a zopakujte acceptance transaction. Venujte tomu mimoriadnu pozornosť, pretože packages modelov a server releases môžu zmeniť výsledok prekladu, preto udržiavajte malý regression corpus. Predchádzajúci image LibreTranslate si ponechajte, kým nebudete rozumieť hraniciam data migration a rollbacku.