Αποθήκευση SQLite
Το Libre WebUI αποθηκεύει από προεπιλογή σε SQLite chat, μηνύματα, χρήστες, προτιμήσεις, έγγραφα και τμήματα, περσόνες, διαπιστευτήρια plugin, μνήμες και metadata σε μία τοπική βάση.
Θέση βάσης
Η εκκίνηση από πηγαίο κώδικα χρησιμοποιεί:
DATA_DIRόταν ορίζεται· οι σχετικές τιμές επιλύονται από τον κατάλογο backend.backend/dataόταν δεν ορίζεται.
Για συμβατότητα, χωρίς τιμή συνεχίζει το backend/backend/data όταν είναι η μόνη
μόνιμη αποθήκη. Αν και τα δύο έχουν κατάσταση, η εκκίνηση απαιτεί ρητή επιλογή και
ποτέ δεν συγχωνεύει ή αντιγράφει.
Ο packaged launcher npm/Homebrew χρησιμοποιεί ~/.libre-webui και επιλύει σχετικό
DATA_DIR από τον κατάλογο του καλούντος. Docker και Kubernetes δίνουν απόλυτες διαδρομές.
Το αρχείο ονομάζεται data.sqlite.
DATA_DIR=/var/lib/libre-webui
Τι αποθηκεύεται
- Χρήστες, ρόλοι, συνεδρίες και μηνύματα
- Προτιμήσεις και UI
- Έγγραφα και τμήματα
- Περσόνες, μνήμες και κατάσταση μετάλλαξης
- Διαπιστευτήρια plugin, δεσμεύσεις routing/auth, μεταβλητές, ενεργοποιήσεις, εγκρίσεις και κατάλογοι
- Ρυθμίσεις συστήματος
- Ιδιοκτησία Work, routing μοντέλου/παρόχου, εκτελέσεις, μηνύματα, εργαλεία, κατάσταση και ID Docker
Οι ευαίσθητες τιμές κρυπτογραφούνται στο επίπεδο εφαρμογής από τους βοηθούς αποθήκευσης.
Η αποθήκευση Work χωρίζεται
Η συνομιλία και τα metadata είναι SQLite, τα αρχεία όχι. Κάθε εργασία έχει named Docker
volume στο /workspace. Το container είναι αντικαταστάσιμη εκτέλεση, το volume μόνιμο filesystem.
Μόνο η βάση δεν αποτελεί πλήρες backup Work. Δημιουργήστε backup των volumes με τη
διαδικασία του host. Το Libre τα επισημαίνει ai.libre-webui.managed=true και ID εργασίας.
Η διαγραφή εργασίας αφαιρεί μόνιμα γραμμές και volume. Ακύρωση, stop preview ή restart δεν διαγράφουν αρχεία.
Συμβατότητα JSON
Παλιότερες εγκαταστάσεις χρησιμοποιούσαν JSON. Οι τρέχουσες έχουν SQLite ως κύριο μονοπάτι πίσω από service/model layers. Πριν την αναβάθμιση αντιγράψτε όλο τον κατάλογο.
Η ενεργοποίηση .status.json μεταφέρεται μία φορά σε γραμμές χρήστη μόνο για ακριβείς
hash-anchored ενσωματωμένους ορισμούς. Custom/shadow μένουν καραντίνα μέχρι επανεισαγωγή
διαχειριστή και η έγκριση δεν επαναφέρει παλιές ενεργοποιήσεις. Νέοι λογαριασμοί δεν έχουν ενεργά plugin.
Backup
Σταματήστε το backend πριν την αντιγραφή:
cp -R backend/data backend/data.backup
Με DATA_DIR:
cp -R "$DATA_DIR" "$DATA_DIR.backup"
Με Work, αντιγράψτε και κάθε managed volume ενώ το backend είναι σταματημένο. Κρατήστε βάση, encryption key και volumes από την ίδια στιγμή.
Επαναφορά
Σταματήστε, αντικαταστήστε τον κατάλογο και επανεκκινήστε με ίδιο ENCRYPTION_KEY.
Για Work επαναφέρετε τα volumes με τα ακριβή ονόματα της βάσης πριν την εκκίνηση. Το
Libre δημιουργεί container αλλά δεν ανακατασκευάζει αρχεία από ιστορικό συνομιλίας.
Σημειώσεις λειτουργίας
- Το SQLite έχει WAL για ταυτόχρονες αναγνώσεις.
- Ο κατάλογος πρέπει να είναι εγγράψιμος.
- Διατηρείτε
DATA_DIRσε μόνιμη αποθήκευση Docker/Kubernetes. - Αντιγράφετε
ENCRYPTION_KEYμαζί με τη βάση. - Μετράτε, μεταφέρετε και επαναφέρετε τα volumes Work χωριστά.