Kako samostalno hostati LibreTranslate u 2026.: modeli, API ograničenja i trajni podaci
Samostalno hostajte LibreTranslate uz ispravne portove, trajnu pohranu, HTTPS, tajne, sigurnosne kopije i provjere nadogradnje. Saznajte kako riješiti problem kada modeli nisu preuzeti.
Ako ste već pokušali samostalno hostati LibreTranslate, vjerojatno vam je poznato frustrirajuće stanje: sučelje se prikazuje, ali modeli nisu preuzeti ili traženi jezični par nije dostupan. Ponovno stvaranje containera rijetko rješava neslaganje između URL-ova, stanja i ovisnosti.
Ovaj vodič koristi jedan konkretan kriterij uspješnog dovršetka — izlistati instalirane jezike, prevesti zadanu rečenicu u oba smjera te provjeriti kvotu API ključa i odgovore na pogreške. Svaki se izbor konfiguracije procjenjuje prema tom kriteriju, a ne prema zelenoj oznaci containera.
Vratite LibreTranslate na prazan host
Izlistajte stanje prije stvaranja prvog stvarnog zapisa: preuzete modele, bazu API ključeva i prilagođenu konfiguraciju. Montirajte /home/libretranslate/.local prije bootstrapiranja, zapišite bezopasne ogledne podatke i zamijenite container kako biste dokazali da je ta putanja doista trajna. Potvrdite mount tako da zapišete bezopasne podatke, zamijenite LibreTranslate i ponovno ih pročitate.
Snapshoti su korisni za brzi rollback, ali potrebna je neovisna sigurnosna kopija ako host ili volume nestane. Vratite podatke u prazno okruženje s fiksiranom image verzijom i provjerite vraćaju li se modeli i stanje API ključeva te prolazi li regresijski korpus uz prihvatljiv rezultat. Koristite trajne volumeove i snapshote kako bi ta dva mehanizma oporavka ostala jasno odvojena.
Portovi, procesi i privatni servisi
Nemojte dopustiti da LibreTranslate image slučajno odredi produkcijsku arhitekturu. Image pokreće proces na portu 5000, ali pohrana, usmjeravanje i vanjski zahtjevi i dalje trebaju promišljene životne cikluse. Lokalni zahtjev runtimea jest pohrana za preuzimanje modela te CPU ili GPU primjeren jezičnim parovima. Životni ciklus držite eksplicitnim kako premještanje LibreTranslatea između hostova ne bi neprimjetno promijenilo ponašanje.
Deployment je spreman za dublje testiranje kada može izlistati instalirane jezike, prevesti zadanu rečenicu u oba smjera te provjeriti kvotu API ključa i odgovore na pogreške. Pratite transakciju u logovima i nadzirite učitane jezične modele, vrijeme CPU inferencea, paralelne zahtjeve i prostor na disku koji zauzimaju preuzeti modeli. Ta opažanja otkrivaju izolira li trenutačna topologija odgovarajuću komponentu.
Provjerite LibreTranslate deployment od početka do kraja
Produkcijski kriterij za LibreTranslate trebao bi moći izvršiti netko tko nije izradio deployment. Dajte toj osobi fiksiranu verziju, testni račun bez osjetljivih podataka i ovaj zadatak: izlistati instalirane jezike, prevesti zadanu rečenicu u oba smjera te provjeriti kvotu API ključa i odgovore na pogreške. Ako upute zahtijevaju nedokumentirani shell pristup, servis još nije operativno spreman.
Ponovite provjeru nakon zamjene samo containera. Zatim vratite preuzete modele, bazu API ključeva i prilagođenu konfiguraciju u praznu infrastrukturu te dokažite da se modeli i stanje API ključeva vraćaju i da regresijski korpus prolazi uz prihvatljiv rezultat. Tijekom oba uspješna pokretanja izmjerite učitane jezične modele, vrijeme CPU inferencea, paralelne zahtjeve i prostor na disku koji zauzimaju preuzeti modeli; neočekivane razlike često otkrivaju nedostajući cache, indeks, worker ili mount podataka.
Dodajte vježbu oporavka od pogreške: pošaljite bezopasan unos blizu ograničenja resursa ili formata povezanog s ovom granicom: modeli nisu preuzeti ili traženi jezični par nije dostupan. LibreTranslate bi trebao vratiti korisnu pogrešku, sačuvati postojeće stanje i oporaviti se kada se uvjet ponovno vrati u valjano stanje. Spremite vremenske oznake i relevantne retke logova, uz uklonjene tajne. Ti dokazi postaju referenca za sljedeću promjenu imagea ili konfiguracije.
Postavke containera koje vrijedi pregledati
Koristite naredbu koja izlaže svaki važan izbor. Ova osnovna konfiguracija veže LibreTranslate na loopback hosta, dodaje poznate mountove podataka i postavlja prvu potrebnu postavku. Prije izlaganja servisa potvrdite lokalni zahtjev: pohranu za preuzimanje modela te CPU ili GPU primjeren jezičnim parovima.
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
Zamijenite plutajuće tagove testiranom verzijom ili digestom. Nakon pokretanja pregledajte docker logs --tail 200 libretranslate i potvrdite da proces osluškuje port 5000. Zatim izvršite prihvatnu provjeru LibreTranslatea; odgovor početne stranice ne može dokazati da cijeli scenarij uspijeva: izlistajte instalirane jezike, prevedite zadanu rečenicu u oba smjera te provjerite kvotu API ključa i odgovore na pogreške.
Vjerodajnice, uloge i izložene površine
Sigurnosni rizik specifičan za aplikaciju jest pokretanje javnog API-ja bez ograničenja koji drugi mogu iscrpiti. Operativni odgovor jest uključiti API ključeve ili autentikaciju na upstreamu, ograničiti broj zahtjeva javnih korisnika i instalirati samo potrebne jezične parove. Bootstrap dovršite kroz ograničenu rutu i odmah nakon toga uklonite privremeni pristup za postavljanje.
LT_API_KEYS upravlja ponašanjem, a ne povjerljivošću; provjerite njegov tip i vrijednost te stvarne LibreTranslate vjerodajnice pohranite odvojeno. Procesu LibreTranslatea dodijelite samo dokumentirane mountove i rute do ovisnosti; izbjegavajte pristup korijenu hosta i Docker socketu. Bilježite neuspjele autentikacije i pogreške konfiguracije, ali redigirajte tokene, connection stringove i korisnički sadržaj.
Razlikujte interne i eksterne URL-ove
Izdavanje TLS-a samo je polovica rute LibreTranslatea. Poslužujte API putem HTTPS-a i dokumentirajte ispravnu osnovnu putanju. Interni promet šaljite na 5000 i proslijedite vanjsku shemu kako bi generirani URL-ovi i sigurni cookieji ostali usklađeni.
Cijeli scenarij LibreTranslatea provjerite iz čiste mreže, a ne samo početnu stranicu. Grešku 502 ili problem s certifikatom možete izolirati pomoću automatskog postavljanja domene i TLS-a. Ako promet doseže proces, a modeli nisu preuzeti ili traženi jezični par nije dostupan, dijagnosticirajte taj uvjet na mjestu na kojem se pojavljuje umjesto da slažete dodatna preusmjeravanja.
Vježbe oporavka od pogreške za LibreTranslate
Testovi kapaciteta trebaju obuhvatiti učitane jezične modele, vrijeme CPU inferencea, paralelne zahtjeve i prostor na disku koji zauzimaju preuzeti modeli, a ne ponovljeni zahtjev prema /. Pokrenite scenarij „izlistati instalirane jezike, prevesti zadanu rečenicu u oba smjera te provjeriti kvotu API ključa i odgovore na pogreške” uz realističnu konkurentnost te zabilježite latenciju, stopu pogrešaka i rast zauzeća pohrane.
Planiranje nadogradnje mora uzeti u obzir ovaj rizik: paketi modela i izdanja servera mogu promijeniti rezultate prevođenja, stoga održavajte mali regresijski korpus. Testirajte novo izdanje s reprezentativnim unosom, zatim ponovite prihvatnu transakciju i usporedite rezultat. Ako modeli nisu preuzeti ili traženi jezični par nije dostupan, zabilježite neuspjelu transakciju i pregledajte prvu uključenu granicu umjesto da pretpostavite da je problem u ulaznom prometu.
Deployajte LibreTranslate na Dockupu bez gubitka granica
Dockup predložak trebao bi sadržavati image, port 5000, mountove, vrijeme provjere zdravlja, domenu, TLS i isporuku tajni. Dockup treba sačuvati runtime postavke LibreTranslatea dok operator potvrđuje ovaj lokalni zahtjev: pohranu za preuzimanje modela te CPU ili GPU primjeren jezičnim parovima. Isti deployment može ciljati Dockup servere ili kapacitet povezan s korisnikom.
Nakon što je ruta aktivna, primijenite javnu postavku i pokušajte izlistati instalirane jezike, prevesti zadanu rečenicu u oba smjera te provjeriti kvotu API ključa i odgovore na pogreške. Izradite sigurnosnu kopiju preuzetih modela, baze API ključeva i prilagođene konfiguracije te vježbu vraćanja podataka uvrstite u operativni plan; to su odgovornosti LibreTranslatea koje ostaju vidljive i nakon provisioninga infrastrukture.
Često postavljana pitanja
Što je potrebno LibreTranslateu za produkcijski deployment?
Usmjerite LibreTranslate container na portu 5000 kroz jednu HTTPS izvornu adresu. Lokalni zahtjev runtimea jest pohrana za preuzimanje modela te CPU ili GPU primjeren jezičnim parovima. LibreTranslate nemojte proglasiti spremnim dok ne možete izlistati instalirane jezike, prevesti zadanu rečenicu u oba smjera te provjeriti kvotu API ključa i odgovore na pogreške.
Koji podaci LibreTranslatea trebaju biti uključeni u sigurnosnu kopiju?
Učinite /home/libretranslate/.local trajnim i u isti manifest oporavka uključite preuzete modele, bazu API ključeva i prilagođenu konfiguraciju. Čisto vraćanje LibreTranslatea uspješno je samo kada se modeli i stanje API ključeva vrate te regresijski korpus prođe uz prihvatljiv rezultat.
Zahtijeva li LibreTranslate HTTPS iza reverse proxya?
Za javnu izvornu adresu LibreTranslatea koristite HTTPS, a port 5000 zadržite na internoj ruti. Ispravno primijenite postavku LibreTranslatea: poslužujte API putem HTTPS-a i dokumentirajte ispravnu osnovnu putanju. Za LibreTranslate HTTPS štiti vjerodajnice ili korisnički sadržaj tijekom prijenosa te održava dosljedno ponašanje klijenta ovisno o izvornoj adresi.
Kako testirati nadogradnju LibreTranslatea?
Vratite trenutačno stanje LibreTranslatea u izolirani deployment, primijenite kandidatsku verziju i ponovite njegovu prihvatnu transakciju. Obratite posebnu pozornost jer paketi modela i izdanja servera mogu promijeniti rezultate prevođenja, stoga održavajte mali regresijski korpus. Prethodni LibreTranslate image zadržite dok ne razumijete granice migracije podataka i rollbacka.
