Sari la conținutul principal

Stocare SQLite

Libre WebUI stochează implicit în SQLite chat-uri, mesaje, utilizatori, preferințe, documente și fragmente, personaje, credentiale de plugin, amintiri și metadata.

Locația bazei

Pornirea din sursă folosește:

  1. DATA_DIR dacă este setat; valorile relative pornesc din directorul backend.
  2. backend/data dacă nu.

Pentru compatibilitate, backend/backend/data rămâne când este singurul magazin. Dacă ambele au stare, pornirea cere selecție explicită și nu le combină/copiază.

Launcherul npm/Homebrew folosește ~/.libre-webui și rezolvă DATA_DIR relativ din directorul apelantului. Docker/Kubernetes oferă căi absolute. Fișierul este data.sqlite.

DATA_DIR=/var/lib/libre-webui

Ce stochează

  • Utilizatori, roluri, sesiuni și mesaje
  • Preferințe, documente, fragmente și personaje
  • Memorii și stare de mutație
  • Credentiale, binding-uri routing/auth, variabile, activări, aprobări și cataloage
  • Setări sistem
  • Proprietatea Work, model/provider, rulări, activitate și ID-uri Docker

Valorile sensibile sunt criptate în stratul aplicației.

Stocarea Work este separată

Conversația și metadata sunt în SQLite, fișierele într-un named Docker volume la /workspace. Containerul este stare înlocuibilă, volumul filesystem persistent.

Backup-ul bazei singur nu este complet. Salvați volumele prin procesul hostului. Libre le etichetează ai.libre-webui.managed=true și ID-ul taskului. Ștergerea taskului elimină baza și volumul; anularea, oprirea preview sau restart nu șterg fișiere.

Compatibilitate JSON

Instalațiile vechi foloseau JSON. Versiunile actuale folosesc SQLite prin straturi de servicii. Înainte de upgrade salvați directorul complet.

Activarea .status.json migrează o dată per utilizator doar pentru definiții bundled cu hash exact. Custom/shadow rămân în carantină până la reimport admin și aprobarea nu restabilește activări vechi. Conturile noi încep fără pluginuri.

Backup

Opriți backend înainte de copiere:

cp -R backend/data backend/data.backup

Cu DATA_DIR:

cp -R "$DATA_DIR" "$DATA_DIR.backup"

Cu Work, salvați toate volumele managed în același moment cu baza și cheia.

Restaurare

Opriți, înlocuiți directorul și reporniți cu același ENCRYPTION_KEY. Restaurați volumele Work cu numele exacte înainte de backend. Libre recreează containerul, nu fișiere lipsă din istoricul conversației.

Note operaționale

  • SQLite folosește WAL.
  • Directorul trebuie să fie scriibil.
  • DATA_DIR trebuie persistent în Docker/Kubernetes.
  • Salvați ENCRYPTION_KEY împreună cu baza.
  • Tratați volumele Work separat la măsurare, migrare și restaurare.

Documentație asociată