Ευρετήριο ημερολογίουDockup / σημείωση πεδίου
Note / self-host-libretranslate

Πώς να φιλοξενήσετε μόνοι σας το LibreTranslate το 2026: Μοντέλα, όρια API και persistent data

Φιλοξενήστε μόνοι σας το LibreTranslate με σωστές θύρες, persistent storage, HTTPS, secrets, backups και ελέγχους αναβάθμισης. Μάθετε πώς να διορθώσετε την περίπτωση όπου δεν έχουν γίνει download τα μοντέλα.

Αν έχετε ήδη προσπαθήσει να φιλοξενήσετε μόνοι σας το LibreTranslate, πιθανότατα γνωρίζετε αυτή την εκνευριστική κατάσταση: το UI εμφανίζεται, αλλά δεν έχουν γίνει download τα μοντέλα ή ένα ζητούμενο language pair δεν είναι διαθέσιμο. Η αναδημιουργία του container σπάνια διορθώνει μια ασυμφωνία μεταξύ URLs, state και dependencies.

Αυτός ο οδηγός χρησιμοποιεί ένα συγκεκριμένο κριτήριο ολοκλήρωσης — εμφάνιση των εγκατεστημένων γλωσσών, μετάφραση μιας προκαθορισμένης πρότασης και προς τις δύο κατευθύνσεις και έλεγχο του quota των API keys και των error responses. Κάθε επιλογή configuration αξιολογείται με βάση αυτό το κριτήριο και όχι με βάση ένα πράσινο badge του container.

Επαναφορά του LibreTranslate σε άδειο host

Καταγράψτε το state πριν δημιουργηθεί η πρώτη πραγματική εγγραφή: τα downloaded models, τη βάση δεδομένων των API keys και το custom configuration. Κάντε mount το /home/libretranslate/.local πριν από το bootstrap, γράψτε ακίνδυνα sample data και αντικαταστήστε το container για να αποδείξετε ότι η συγκεκριμένη διαδρομή είναι πράγματι persistent. Επιβεβαιώστε το mount γράφοντας ακίνδυνα data, αντικαθιστώντας το LibreTranslate και διαβάζοντάς τα ξανά.

Τα snapshots είναι χρήσιμα για γρήγορο rollback, όμως χρειάζεται ανεξάρτητο backup όταν χαθεί ο host ή το volume. Κάντε restore σε άδειο περιβάλλον με το pinned image και επιβεβαιώστε ότι τα models και το state των API keys επανέρχονται και ότι το regression corpus ολοκληρώνεται με αποδεκτό output. Χρησιμοποιήστε τα persistent volumes και snapshots ώστε να διατηρείτε ξεχωριστούς αυτούς τους δύο μηχανισμούς recovery.

Ports, processes και private services

Μην αφήσετε το image του LibreTranslate να καθορίσει κατά λάθος την architecture του production περιβάλλοντος. Το image παρέχει μια process στη θύρα 5000· το storage, το routing και οι external requirements χρειάζονται ακόμη προσεκτικά καθορισμένους κύκλους ζωής. Η τοπική απαίτηση του runtime είναι storage για το model download και CPU ή GPU κατάλληλη για τα language pairs. Διατηρήστε ρητό τον κύκλο ζωής του, ώστε η μεταφορά του LibreTranslate μεταξύ hosts να μην αλλάζει αθόρυβα τη συμπεριφορά του.

Το deployment είναι έτοιμο για βαθύτερο testing όταν μπορεί να εμφανίσει τις εγκατεστημένες γλώσσες, να μεταφράσει μια προκαθορισμένη πρόταση και προς τις δύο κατευθύνσεις και να ελέγξει το quota των API keys και τα error responses. Παρακολουθήστε τη συναλλαγή στα logs και ελέγξτε τα loaded language models, τον χρόνο CPU inference, τα parallel requests και τον δίσκο που καταναλώνεται από τα model downloads. Αυτές οι παρατηρήσεις δείχνουν αν η τρέχουσα topology απομονώνει το σωστό component.

Αποδείξτε τη λειτουργία του LibreTranslate deployment από άκρη σε άκρη

Ένα production gate για το LibreTranslate πρέπει να μπορεί να εκτελεστεί από κάποιον που δεν δημιούργησε το deployment. Δώστε σε αυτό το άτομο την pinned version, έναν non-sensitive test account και την εξής εργασία: να εμφανίσει τις εγκατεστημένες γλώσσες, να μεταφράσει μια προκαθορισμένη πρόταση και προς τις δύο κατευθύνσεις και να ελέγξει το quota των API keys και τα error responses. Αν οι οδηγίες απαιτούν undocumented shell access, η υπηρεσία δεν είναι ακόμη operationally ready.

Επαναλάβετε το gate αφού αντικαταστήσετε μόνο το container. Στη συνέχεια, κάντε restore τα downloaded models, τη βάση δεδομένων των API keys και το custom configuration σε κενή infrastructure και αποδείξτε ότι τα models και το state των API keys επανέρχονται και ότι το regression corpus ολοκληρώνεται με αποδεκτό output. Μετρήστε τα loaded language models, τον χρόνο CPU inference, τα parallel requests και τον δίσκο που καταναλώνεται από τα model downloads και στα δύο successful runs· οι απρόσμενες διαφορές συχνά αποκαλύπτουν ένα cache, index, worker ή data mount που λείπει.

Προσθέστε ένα failure drill: υποβάλετε ακίνδυνο input κοντά στο resource ή format limit που σχετίζεται με αυτό το boundary: δεν έχουν γίνει download τα models ή ένα ζητούμενο language pair δεν είναι διαθέσιμο. Το LibreTranslate πρέπει να εμφανίσει χρήσιμο error, να διατηρήσει το υπάρχον state και να ανακάμψει όταν επανέλθει η valid condition. Αποθηκεύστε τα timestamps και τις σχετικές γραμμές των logs, αφού πρώτα αφαιρέσετε τα secrets. Αυτά τα στοιχεία αποτελούν το reference για την επόμενη αλλαγή image ή configuration.

Ρυθμίσεις container που αξίζει να ελέγξετε

Χρησιμοποιήστε μια command που εμφανίζει κάθε σημαντική επιλογή. Αυτό το baseline κάνει bind το LibreTranslate στο host loopback, προσθέτει τα γνωστά data mounts και παρέχει το πρώτο απαιτούμενο setting. Επιβεβαιώστε την τοπική απαίτηση πριν από την έκθεση: storage για το model download και CPU ή GPU κατάλληλη για τα language pairs.

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 με tested version ή digest. Μετά το startup, ελέγξτε το docker logs --tail 200 libretranslate και επιβεβαιώστε ότι η process ακούει στη θύρα 5000. Στη συνέχεια, εκτελέστε το acceptance action του LibreTranslate· μια response από τη root page δεν μπορεί να αποδείξει ότι ολόκληρο το scenario ολοκληρώνεται επιτυχώς: εμφανίστε τις εγκατεστημένες γλώσσες, μεταφράστε μια προκαθορισμένη πρόταση και προς τις δύο κατευθύνσεις και ελέγξτε το quota των API keys και τα error responses.

Credentials, roles και exposed surfaces

Ο application-specific κίνδυνος ασφαλείας είναι η λειτουργία ενός unlimited public API που άλλοι μπορούν να εξαντλήσουν. Η operational λύση είναι να ενεργοποιήσετε API keys ή upstream authentication, να εφαρμόσετε rate limiting στους public callers και να εγκαταστήσετε μόνο τα απαιτούμενα language pairs. Ολοκληρώστε το bootstrap μέσω restricted route και αφαιρέστε αμέσως μετά την προσωρινή setup access.

Το LT_API_KEYS ελέγχει τη συμπεριφορά και όχι το confidentiality· επικυρώστε τον τύπο και την τιμή του και αποθηκεύστε τα πραγματικά LibreTranslate credentials ξεχωριστά. Δώστε στη process του LibreTranslate μόνο τα documented mounts και τα dependency routes· αποφύγετε την πρόσβαση στο host root και στο Docker socket. Καταγράφετε τις αποτυχημένες προσπάθειες authentication και τα configuration errors, αλλά αφαιρείτε από τα logs tokens, connection strings και user content.

Διατηρήστε σωστές τις internal και external URLs

Η έκδοση TLS είναι μόνο το μισό της διαδρομής του LibreTranslate. Σερβίρετε το API μέσω HTTPS και τεκμηριώστε το σωστό base path. Στέλνετε την κίνηση εσωτερικά στη θύρα 5000 και προωθείτε το external scheme, ώστε τα generated URLs και τα secure cookies να παραμένουν συνεπή.

Χρησιμοποιήστε το πλήρες scenario του LibreTranslate από clean network και όχι απλώς τη root page. Ένα 502 ή ένα certificate failure μπορεί να απομονωθεί με το automatic domain και TLS setup. Αν η κίνηση φτάνει στη process και δεν έχουν γίνει download τα models ή ένα ζητούμενο language pair δεν είναι διαθέσιμο, διαγνώστε αυτή την condition στο σημείο όπου εμφανίζεται αντί να προσθέτετε διαδοχικά redirects.

Failure drills για το LibreTranslate

Τα capacity tests πρέπει να ελέγχουν τα loaded language models, τον χρόνο CPU inference, τα parallel requests και τον δίσκο που καταναλώνεται από τα model downloads, όχι ένα επαναλαμβανόμενο request στο /. Εκτελέστε το scenario «εμφάνιση των εγκατεστημένων γλωσσών, μετάφραση μιας προκαθορισμένης πρότασης και προς τις δύο κατευθύνσεις και έλεγχος του quota των API keys και των error responses» με ρεαλιστικό concurrency και καταγράψτε latency, error rate και storage growth.

Ο σχεδιασμός του upgrade πρέπει να λαμβάνει υπόψη αυτόν τον κίνδυνο: τα model packages και τα server releases μπορούν να αλλάξουν το translation output, επομένως διατηρήστε ένα μικρό regression corpus. Κάντε test τη νέα release με representative input, έπειτα επαναλάβετε την acceptance transaction και συγκρίνετε το αποτέλεσμα. Αν δεν έχουν γίνει download τα models ή ένα ζητούμενο language pair δεν είναι διαθέσιμο, καταγράψτε την failing transaction και ελέγξτε το πρώτο boundary που εμπλέκεται αντί να θεωρήσετε ότι ευθύνεται το ingress.

Κάντε deploy το LibreTranslate στο Dockup χωρίς να χάσετε τα boundaries του

Ένα Dockup template πρέπει να κωδικοποιεί το image, τη θύρα 5000, τα mounts, το health timing, το domain, το TLS και το secret delivery. Το Dockup πρέπει να διατηρεί τις runtime settings του LibreTranslate, ενώ ο operator επιβεβαιώνει την εξής τοπική απαίτηση: storage για το model download και CPU ή GPU κατάλληλη για τα language pairs. Το ίδιο deployment μπορεί να στοχεύει σε Dockup servers ή σε capacity συνδεδεμένη από τον customer.

Αφού ενεργοποιηθεί το route, εφαρμόστε το public setting και προσπαθήστε να εμφανίσετε τις εγκατεστημένες γλώσσες, να μεταφράσετε μια προκαθορισμένη πρόταση και προς τις δύο κατευθύνσεις και να ελέγξετε το quota των API keys και τα error responses. Κάντε backup τα downloaded models, τη βάση δεδομένων των API keys και το custom configuration και διατηρήστε το restore exercise στο operating plan· πρόκειται για responsibilities του LibreTranslate που παραμένουν ορατές και μετά το infrastructure provisioning.

Συχνές ερωτήσεις

Τι χρειάζεται το LibreTranslate για production deployment;

Δρομολογήστε το LibreTranslate container στη θύρα 5000 μέσω ενός HTTPS origin. Η τοπική απαίτηση του runtime είναι storage για το model download και CPU ή GPU κατάλληλη για τα language pairs. Μην θεωρήσετε το LibreTranslate έτοιμο μέχρι να μπορείτε να εμφανίσετε τις εγκατεστημένες γλώσσες, να μεταφράσετε μια προκαθορισμένη πρόταση και προς τις δύο κατευθύνσεις και να ελέγξετε το quota των API keys και τα error responses.

Ποια δεδομένα του LibreTranslate πρέπει να περιλαμβάνονται σε backup;

Κάντε persist το /home/libretranslate/.local και συμπεριλάβετε τα downloaded models, τη βάση δεδομένων των API keys και το custom configuration στο ίδιο recovery manifest. Ένα clean restore του LibreTranslate θεωρείται επιτυχές μόνο όταν επανέρχονται τα models και το state των API keys και το regression corpus ολοκληρώνεται με αποδεκτό output.

Απαιτεί το LibreTranslate HTTPS πίσω από reverse proxy;

Χρησιμοποιήστε HTTPS για το public origin του LibreTranslate και διατηρήστε τη θύρα 5000 στο internal route. Εφαρμόστε σωστά τη ρύθμιση του LibreTranslate: σερβίρετε το API μέσω HTTPS και τεκμηριώστε το σωστό base path. Για το LibreTranslate, το HTTPS προστατεύει τα credentials ή το user content κατά τη μεταφορά και διατηρεί συνεπή τη συμπεριφορά του client που εξαρτάται από το origin.

Πώς πρέπει να δοκιμαστεί ένα upgrade του LibreTranslate;

Κάντε restore το τρέχον state του LibreTranslate σε isolated deployment, εφαρμόστε την candidate version και επαναλάβετε την acceptance transaction. Δώστε ιδιαίτερη προσοχή, επειδή τα model packages και τα server releases μπορούν να αλλάξουν το translation output, επομένως διατηρήστε ένα μικρό regression corpus. Κρατήστε το προηγούμενο LibreTranslate image μέχρι να κατανοήσετε τα όρια του data migration και του rollback.