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:
DATA_DIRjika diatur; path relatif diselesaikan dari direktori backend.- 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.