Lewati ke konten utama

Penyimpanan SQLite

Libre WebUI menyimpan chat, pesan, pengguna, pengaturan, dokumen, chunk, persona, credentials plugin, memori, dan metadata dalam satu basis data SQLite lokal.

Lokasi

Urutan:

  1. DATA_DIR jika diatur; path relatif diselesaikan dari direktori backend.
  2. Jika tidak, backend/data.

Untuk kompatibilitas, backend/backend/data digunakan jika itulah satu-satunya penyimpanan durable. Jika state ada di kedua lokasi, startup memerlukan pilihan eksplisit dan tidak merge/copy.

Launcher npm/Homebrew memakai ~/.libre-webui secara bawaan. Docker/Kubernetes menetapkan path absolut. File bernama data.sqlite.

DATA_DIR=/var/lib/libre-webui

Yang disimpan SQLite

Pengguna/peran, sesi/pesan, preferensi UI, dokumen/chunk, persona/memori/mutasi, credentials plugin dan routing/auth bindings, variabel, aktivasi, approval, katalog model, pengaturan; juga ownership Work, rute, run, pesan, aktivitas alat, status, dan ID Docker. Nilai sensitif dienkripsi pada lapisan aplikasi.

Work terpisah

Percakapan/metadata Work berada di SQLite; file berada di volume Docker bernama terpisah pada /workspace. Kontainer dapat diganti, volume durable.

Backup basis data tanpa volume tidak lengkap. Backup volume berlabel ai.libre-webui.managed=true dan ID tugas. Menghapus tugas menghapus record dan volume selamanya; cancel run, stop preview, atau restart backend tidak menghapus file.

Kompatibilitas JSON

Instalasi lama menyimpan sebagian data dalam JSON; kini SQLite adalah jalur utama. Backup seluruh direktori sebelum upgrade. Aktivasi .status.json dimigrasikan sekali hanya untuk built-in yang tepat; definisi custom/shadow dikarantina sampai diimpor ulang; akun baru mulai tanpa plugin aktif.

Backup

Hentikan backend:

cp -R backend/data backend/data.backup
cp -R "$DATA_DIR" "$DATA_DIR.backup"

Backup juga semua volume Work terkelola; basis data, kunci, dan volume harus berasal dari waktu yang sama.

Pemulihan

Hentikan backend, ganti direktori, lalu mulai dengan ENCRYPTION_KEY yang sama. Pulihkan volume Work dengan nama tepat sebelum startup. Libre dapat membuat ulang kontainer, bukan file yang hilang.

Catatan operasi

SQLite memakai WAL. Direktori harus writable dan DATA_DIR Docker/Kubernetes harus persistent. Backup ENCRYPTION_KEY serta volume Work.

Dokumen terkait