Cum să găzduiești LibreTranslate pe cont propriu în 2026: modele, limite API și date persistente
Găzduiește LibreTranslate pe cont propriu cu porturi corecte, stocare persistentă, HTTPS, secrete, backupuri și verificări la upgrade. Află cum să remediezi situația în care modelele nu au fost descărcate.
Dacă ai încercat deja să găzduiești LibreTranslate pe cont propriu, probabil îți este familiară situația frustrantă: interfața apare, dar modelele nu au fost descărcate sau perechea de limbi solicitată nu este disponibilă. Recrearea containerului rezolvă rareori o neconcordanță între URL-uri, stare și dependențe.
Acest ghid folosește un criteriu concret de finalizare — listarea limbilor instalate, traducerea unei propoziții fixe în ambele direcții și testarea cotei pentru cheia API și a răspunsurilor de eroare. Fiecare alegere de configurare este evaluată în raport cu acest criteriu, nu în funcție de o insignă verde a containerului.
Restaurează LibreTranslate pe un host gol
Listează starea înainte de crearea primei înregistrări reale: modelele descărcate, baza de date a cheilor API și configurația personalizată. Montează /home/libretranslate/.local înainte de bootstrap, scrie date demonstrative inofensive și înlocuiește containerul pentru a demonstra că acea cale este într-adevăr persistentă. Confirmă montarea scriind date inofensive, înlocuind LibreTranslate și citindu-le din nou.
Snapshoturile sunt utile pentru rollback rapid, dar este necesar un backup independent atunci când hostul sau volumul dispare. Restaurează într-un mediu gol folosind imaginea fixată la o versiune și verifică dacă modelele și starea cheilor API reapar și dacă setul de regresie se finalizează cu un rezultat acceptabil. Folosește volume persistente și snapshoturi pentru a păstra distincte aceste două mecanisme de recuperare.
Porturi, procese și servicii private
Nu lăsa imaginea LibreTranslate să aleagă accidental arhitectura de producție. Imaginea furnizează un proces pe portul 5000; stocarea, rutarea și cerințele externe au în continuare nevoie de lifecycle-uri planificate deliberat. Cerința runtime locală este stocarea pentru descărcarea modelelor și CPU sau GPU adecvat pentru perechile de limbi. Păstrează-i lifecycle-ul explicit, astfel încât mutarea LibreTranslate între hosturi să nu schimbe comportamentul în mod silențios.
Deploymentul este pregătit pentru teste mai aprofundate atunci când poate lista limbile instalate, poate traduce o propoziție fixă în ambele direcții și poate testa cota pentru cheia API și răspunsurile de eroare. Urmărește tranzacția în loguri și monitorizează modelele de limbi încărcate, timpul de inferență CPU, cererile paralele și spațiul ocupat pe disc de descărcările de modele. Aceste observații arată dacă topologia actuală izolează componenta potrivită.
Demonstrează funcționarea deploymentului LibreTranslate de la un capăt la altul
Un criteriu de intrare în producție pentru LibreTranslate ar trebui să poată fi executat de cineva care nu a construit deploymentul. Oferă-i acelei persoane versiunea fixată la o anumită versiune, un cont de test care nu conține date sensibile și următoarea sarcină: să listeze limbile instalate, să traducă o propoziție fixă în ambele direcții și să testeze cota pentru cheia API și răspunsurile de eroare. Dacă instrucțiunile necesită acces shell nedocumentat, serviciul nu este încă pregătit operațional.
Repetă verificarea după înlocuirea exclusivă a containerului. Apoi restaurează modelele descărcate, baza de date a cheilor API și configurația personalizată într-o infrastructură goală și demonstrează că modelele și starea cheilor API reapar și că setul de regresie se finalizează cu un rezultat acceptabil. Măsoară modelele de limbi încărcate, timpul de inferență CPU, cererile paralele și spațiul ocupat pe disc de descărcările de modele în timpul ambelor rulări reușite; diferențele neașteptate indică adesea un cache, un index, un worker sau un mount de date lipsă.
Adaugă un exercițiu de remediere a unei defecțiuni: trimite date de test inofensive aproape de limita de resurse sau de format asociată acestei situații: modelele nu au fost descărcate sau perechea de limbi solicitată nu este disponibilă. LibreTranslate ar trebui să emită o eroare utilă, să păstreze starea existentă și să își revină atunci când condiția validă revine. Salvează marcajele temporale și liniile relevante din loguri, eliminând secretele. Aceste dovezi devin referința pentru următoarea modificare a imaginii sau configurației.
Setări ale containerului care merită verificate
Folosește o comandă care expune fiecare alegere importantă. Această configurație de bază leagă LibreTranslate de loopback-ul hostului, adaugă mounturile de date cunoscute și furnizează prima setare necesară. Confirmă cerința locală înainte de expunere: stocarea pentru descărcarea modelelor și CPU sau GPU adecvat pentru perechile de limbi.
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
Înlocuiește tagurile floating cu o versiune testată sau cu un digest. După pornire, inspectează docker logs --tail 200 libretranslate și confirmă că procesul ascultă pe portul 5000. Apoi execută acțiunea de acceptanță LibreTranslate; un răspuns de la root page nu poate demonstra că întregul scenariu reușește: listarea limbilor instalate, traducerea unei propoziții fixe în ambele direcții și testarea cotei pentru cheia API și a răspunsurilor de eroare.
Credențiale, roluri și suprafețe expuse
Riscul de securitate specific aplicației este rularea unui API public fără limite, pe care alții îl pot epuiza. Soluția operațională este să activezi cheile API sau autentificarea upstream, să limitezi rata pentru apelanții publici și să instalezi doar perechile de limbi necesare. Finalizează bootstrapul printr-o rută restricționată și elimină imediat accesul temporar la configurare.
LT_API_KEYS controlează comportamentul, nu confidențialitatea; validează tipul și valoarea sa și stochează separat credențialele reale LibreTranslate. Acordă procesului LibreTranslate doar mounturile și rutele către dependențe documentate; evită accesul la root-ul hostului și la socketul Docker. Înregistrează autentificările eșuate și erorile de configurare, dar elimină tokenurile, connection stringurile și conținutul utilizatorilor.
Păstrează corect separarea între URL-urile interne și externe
Emiterea TLS reprezintă doar jumătate din ruta LibreTranslate. Servește API-ul prin HTTPS și documentează base path-ul corect. Trimite traficul intern către portul 5000 și transmite scheme-ul extern, astfel încât URL-urile generate și cookie-urile securizate să rămână consecvente.
Folosește scenariul complet LibreTranslate dintr-o rețea curată, nu doar root page-ul. O eroare 502 sau de certificat poate fi izolată cu configurarea automată a domeniului și TLS. Dacă traficul ajunge la proces, iar modelele nu au fost descărcate sau perechea de limbi solicitată nu este disponibilă, diagnostichează situația acolo unde apare, în loc să adaugi redirecturi peste redirecturi.
Exerciții de remediere a defecțiunilor pentru LibreTranslate
Testele de capacitate ar trebui să verifice modelele de limbi încărcate, timpul de inferență CPU, cererile paralele și spațiul ocupat pe disc de descărcările de modele, nu o cerere repetată către /. Rulează scenariul „listează limbile instalate, traduce o propoziție fixă în ambele direcții și testează cota pentru cheia API și răspunsurile de eroare” la un nivel realist de concurență și înregistrează latența, rata de erori și creșterea spațiului de stocare.
Planificarea upgrade-ului trebuie să țină cont de acest risc: pachetele de modele și versiunile serverului pot schimba rezultatul traducerilor, așa că trebuie să menții un set mic de regresie. Testează noua versiune cu date de intrare reprezentative, apoi repetă tranzacția de acceptanță și compară rezultatul. Dacă modelele nu au fost descărcate sau perechea de limbi solicitată nu este disponibilă, capturează tranzacția eșuată și inspectează prima limită implicată, în loc să presupui că ingress-ul este responsabil.
Deployează LibreTranslate pe Dockup fără să pierzi aceste limite
Un template Dockup ar trebui să codifice imaginea, portul 5000, mounturile, intervalele de health check, domeniul, TLS și livrarea secretelor. Dockup ar trebui să păstreze setările runtime LibreTranslate, în timp ce operatorul confirmă această cerință locală: stocarea pentru descărcarea modelelor și CPU sau GPU adecvat pentru perechile de limbi. Același deployment poate viza servere Dockup sau capacitate atașată de client.
După ce ruta este activă, aplică setarea publică și încearcă să listezi limbile instalate, să traduci o propoziție fixă în ambele direcții și să testezi cota pentru cheia API și răspunsurile de eroare. Fă backup pentru modelele descărcate, baza de date a cheilor API și configurația personalizată și păstrează exercițiul de restaurare în planul operațional; acestea sunt responsabilități LibreTranslate care rămân vizibile și după provisionarea infrastructurii.
Întrebări frecvente
De ce are nevoie LibreTranslate pentru un deployment de producție?
Rutează containerul LibreTranslate pe portul 5000 printr-un singur origin HTTPS. Cerința runtime locală este stocarea pentru descărcarea modelelor și CPU sau GPU adecvat pentru perechile de limbi. Nu considera LibreTranslate pregătit până când nu poți lista limbile instalate, traduce o propoziție fixă în ambele direcții și testa cota pentru cheia API și răspunsurile de eroare.
Ce date LibreTranslate trebuie incluse într-un backup?
Păstrează /home/libretranslate/.local și include modelele descărcate, baza de date a cheilor API și configurația personalizată în același manifest de recuperare. O restaurare LibreTranslate curată este reușită doar atunci când modelele și starea cheilor API reapar, iar setul de regresie se finalizează cu un rezultat acceptabil.
Are LibreTranslate nevoie de HTTPS în spatele unui reverse proxy?
Folosește HTTPS pentru origin-ul public LibreTranslate și păstrează portul 5000 pe ruta internă. Aplică corect setarea LibreTranslate: servește API-ul prin HTTPS și documentează base path-ul corect. Pentru LibreTranslate, HTTPS protejează credențialele sau conținutul utilizatorilor în tranzit și păstrează consecvent comportamentul clientului dependent de origin.
Cum ar trebui testat un upgrade LibreTranslate?
Restaurează starea actuală LibreTranslate într-un deployment izolat, aplică versiunea candidat și repetă tranzacția de acceptanță. Acordă o atenție deosebită acestui aspect, deoarece pachetele de modele și versiunile serverului pot schimba rezultatul traducerilor, așa că trebuie să menții un set mic de regresie. Păstrează imaginea LibreTranslate anterioară până când limitele migrației datelor și ale rollbackului sunt înțelese.
