Rejstřík deníkuDockup / terénní poznámka
Note / self-host-libretranslate

Jak provozovat LibreTranslate na vlastním serveru v roce 2026: modely, limity API a trvalá data

Provozujte LibreTranslate na vlastním serveru se správnými porty, persistentním úložištěm, HTTPS, secrets, zálohami a kontrolami při upgradu. Zjistěte, jak opravit stav, kdy se nestáhly modely.

Pokud jste se už pokoušeli provozovat LibreTranslate na vlastním serveru, nejspíš znáte tento frustrující stav: UI se zobrazí, ale modely se nestáhly nebo požadovaný jazykový pár není k dispozici. Opětovné vytvoření kontejneru jen zřídka vyřeší nesoulad mezi URL, stavem a závislostmi.

Tento postup používá jedno konkrétní kritérium dokončení — vypsat nainstalované jazyky, přeložit pevně danou větu oběma směry a otestovat kvótu API klíče a chybové odpovědi. Každé konfigurační rozhodnutí se posuzuje podle tohoto kritéria, nikoli podle zeleného odznaku kontejneru.

Obnovení LibreTranslate na prázdném hostiteli

Před vytvořením prvního skutečného záznamu si vypište stav: stažené modely, databázi API klíčů a vlastní konfiguraci. Před bootstrapem připojte /home/libretranslate/.local, zapište neškodná testovací data a nahraďte kontejner, abyste prokázali, že je daná cesta skutečně persistentní. Připojení ověřte zápisem neškodných dat, nahrazením LibreTranslate a jejich opětovným načtením.

Snapshoty jsou cenné pro rychlý rollback, ale v případě zmizení hostitele nebo svazku potřebujete také nezávislou zálohu. Obnovte data do prázdného prostředí s připnutým image a ověřte, že se vrátí modely i stav API klíčů a že regresní sada projde s přijatelným výstupem. Použijte persistentní svazky a snapshoty, abyste tyto dva mechanismy obnovy udrželi oddělené.

Porty, procesy a privátní služby

Nenechte image LibreTranslate náhodou určovat produkční architekturu. Image poskytuje proces na portu 5000; úložiště, routing a externí požadavky stále vyžadují promyšlené lifecycle. Lokálním požadavkem runtime je úložiště pro stažení modelů a CPU nebo GPU odpovídající jazykovým párům. Jeho lifecycle udržujte explicitní, aby přesun LibreTranslate mezi hostiteli tiše nezměnil jeho chování.

Deployment je připraven na hlubší testování ve chvíli, kdy dokáže vypsat nainstalované jazyky, přeložit pevně danou větu oběma směry a otestovat kvótu API klíče a chybové odpovědi. Sledujte transakci v logách a monitorujte načtené jazykové modely, čas inference na CPU, paralelní požadavky a místo na disku spotřebované staženými modely. Tato pozorování ukážou, zda aktuální topologie izoluje správnou komponentu.

Ověření deploymentu LibreTranslate od začátku do konce

Produkční gate pro LibreTranslate by měl být spustitelný někým, kdo deployment nevytvářel. Předejte této osobě připnutou verzi, testovací účet bez citlivých údajů a tento úkol: vypsat nainstalované jazyky, přeložit pevně danou větu oběma směry a otestovat kvótu API klíče a chybové odpovědi. Pokud pokyny vyžadují nedokumentovaný přístup přes shell, služba ještě není provozně připravená.

Gate zopakujte po nahrazení pouze kontejneru. Poté obnovte stažené modely, databázi API klíčů a vlastní konfiguraci do prázdné infrastruktury a prokažte, že se vrátí modely i stav API klíčů a že regresní sada projde s přijatelným výstupem. Během obou úspěšných běhů měřte načtené jazykové modely, čas inference na CPU, paralelní požadavky a místo na disku spotřebované staženými modely; neočekávané rozdíly často odhalí chybějící cache, index, worker nebo mount s daty.

Přidejte také failure drill: odešlete neškodný vstup blízko limitu prostředků nebo formátu spojeného s touto hranicí: modely se nestáhly nebo požadovaný jazykový pár není k dispozici. LibreTranslate by měl vrátit užitečnou chybu, zachovat stávající stav a po návratu platných podmínek se zotavit. Uložte časová razítka a relevantní řádky logu, přičemž secrets redigujte. Tyto důkazy se stanou referencí pro další změnu image nebo konfigurace.

Nastavení kontejneru, která stojí za kontrolu

Použijte příkaz, který zpřístupní všechna důležitá rozhodnutí. Tento základní příklad binduje LibreTranslate na loopback hostitele, přidává známé mounty s daty a předává první požadované nastavení. Před zpřístupněním služby ověřte lokální požadavek: úložiště pro stažení modelů a CPU nebo GPU odpovídající jazykovým párům.

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

Plovoucí tagy nahraďte otestovanou verzí nebo digestem. Po spuštění zkontrolujte docker logs --tail 200 libretranslate a ověřte, že proces naslouchá na portu 5000. Poté spusťte akceptační scénář LibreTranslate; odpověď z root stránky nemůže prokázat úspěch celého scénáře: vypsání nainstalovaných jazyků, překlad pevně dané věty oběma směry a otestování kvóty API klíče a chybových odpovědí.

Přihlašovací údaje, role a vystavené povrchy

Bezpečnostní riziko specifické pro aplikaci představuje neomezené veřejné API, ze kterého mohou ostatní vyčerpat kapacitu. Provozní řešení spočívá v zapnutí API klíčů nebo autentizace na upstreamu, omezení rychlosti veřejných volání a instalaci pouze požadovaných jazykových párů. Bootstrap dokončete přes omezenou route a dočasný přístup k nastavení ihned poté odstraňte.

LT_API_KEYS řídí chování, nikoli důvěrnost; ověřte jeho typ a hodnotu a skutečné přihlašovací údaje LibreTranslate ukládejte odděleně. Procesu LibreTranslate přidělte pouze jeho zdokumentované mounty a dependency routes; vyhněte se přístupu ke kořenu hostitele a Docker socketu. Neúspěšnou autentizaci a konfigurační chyby logujte, ale redigujte tokeny, connection stringy a obsah uživatelů.

Rozlišujte interní a externí URL

Vystavení TLS je pouze polovina route pro LibreTranslate. API poskytujte přes HTTPS a zdokumentujte správnou base path. Interně posílejte provoz na port 5000 a předávejte externí scheme, aby generované URL a secure cookies zůstaly konzistentní.

Kompletní scénář LibreTranslate spouštějte z čisté sítě, nikoli pouze z root stránky. Chybu 502 nebo selhání certifikátu lze izolovat pomocí automatického nastavení domény a TLS. Pokud provoz dorazí k procesu a modely se nestáhly nebo požadovaný jazykový pár není k dispozici, diagnostikujte tento stav na místě, kde vzniká, místo dalšího vrstvení redirectů.

Failure drills pro LibreTranslate

Testy kapacity by měly ověřovat načtené jazykové modely, čas inference na CPU, paralelní požadavky a místo na disku spotřebované staženými modely, nikoli opakovaný požadavek na /. Scénář „vypsat nainstalované jazyky, přeložit pevně danou větu oběma směry a otestovat kvótu API klíče a chybové odpovědi“ spusťte při realistické souběžnosti a zaznamenejte latenci, chybovost a růst využitého úložiště.

Plánování upgradu musí počítat s tímto rizikem: balíčky modelů a vydání serveru mohou změnit výsledný překlad, proto udržujte malou regresní sadu. Nové vydání otestujte s reprezentativním vstupem, poté zopakujte akceptační transakci a porovnejte její výsledek. Pokud se modely nestáhly nebo požadovaný jazykový pár není k dispozici, zachyťte neúspěšnou transakci a zkontrolujte první zasaženou hranici místo předpokladu, že je na vině ingress.

Nasazení LibreTranslate na Dockup bez ztráty hranic

Šablona Dockup by měla obsahovat image, port 5000, mounty, časování health checku, doménu, TLS a předávání secrets. Dockup by měl zachovat nastavení runtime LibreTranslate, zatímco operátor ověří tento lokální požadavek: úložiště pro stažení modelů a CPU nebo GPU odpovídající jazykovým párům. Stejný deployment může cílit na servery Dockup nebo kapacitu připojenou zákazníkem.

Po zprovoznění route aplikujte veřejné nastavení a pokuste se vypsat nainstalované jazyky, přeložit pevně danou větu oběma směry a otestovat kvótu API klíče a chybové odpovědi. Stažené modely, databázi API klíčů a vlastní konfiguraci zálohujte a cvičení obnovy udržujte v provozním plánu; jde o odpovědnosti LibreTranslate, které zůstávají viditelné i po zajištění infrastruktury.

Často kladené otázky

Co LibreTranslate potřebuje pro produkční deployment?

Kontejner LibreTranslate směrujte přes port 5000 na jeden HTTPS origin. Lokálním požadavkem runtime je úložiště pro stažení modelů a CPU nebo GPU odpovídající jazykovým párům. LibreTranslate nepovažujte za připravený, dokud nedokážete vypsat nainstalované jazyky, přeložit pevně danou větu oběma směry a otestovat kvótu API klíče a chybové odpovědi.

Která data LibreTranslate patří do zálohy?

Zachovejte /home/libretranslate/.local a do stejného recovery manifestu zahrňte stažené modely, databázi API klíčů a vlastní konfiguraci. Čistá obnova LibreTranslate je úspěšná pouze tehdy, když se vrátí modely i stav API klíčů a regresní sada projde s přijatelným výstupem.

Vyžaduje LibreTranslate za reverse proxy HTTPS?

Pro veřejný origin LibreTranslate použijte HTTPS a port 5000 ponechte na interní route. Nastavení LibreTranslate aplikujte správně: API poskytujte přes HTTPS a zdokumentujte správnou base path. V případě LibreTranslate HTTPS chrání přihlašovací údaje nebo obsah uživatelů při přenosu a zachovává konzistentní chování klienta závislé na originu.

Jak testovat upgrade LibreTranslate?

Obnovte aktuální stav LibreTranslate do izolovaného deploymentu, aplikujte kandidátní verzi a zopakujte jeho akceptační transakci. Věnujte tomu zvláštní pozornost, protože balíčky modelů a vydání serveru mohou změnit výsledný překlad, proto udržujte malou regresní sadu. Předchozí image LibreTranslate ponechte, dokud neporozumíte hranici migrace dat a rollbacku.