การจัดเก็บ SQLite
Libre WebUI เก็บ chat, message, user, การตั้งค่า, เอกสาร, chunk, persona, credentials plugin, memory และ metadata ในฐานข้อมูล SQLite local เดียว
ตำแหน่ง
ลำดับ:
DATA_DIRหากตั้งค่า path สัมพัทธ์ resolve จาก directory backend- มิฉะนั้น
backend/data
เพื่อความเข้ากันได้ ใช้ backend/backend/data หากเป็น storage durable เพียงแห่งเดียว หาก state อยู่ทั้งสองตำแหน่ง startup ต้องเลือกชัดและไม่ merge/copy
Launcher npm/Homebrew ใช้ ~/.libre-webui โดยค่าเริ่มต้น Docker/Kubernetes ตั้ง path สัมบูรณ์ File ชื่อ data.sqlite
DATA_DIR=/var/lib/libre-webui
สิ่งที่ SQLite เก็บ
User/role, session/message, preference UI, document/chunk, persona/memory/mutation, credentials plugin และ routing/auth binding, variable, activation, approval, model catalog, setting รวม ownership Work, route, run, message, tool activity, status และ Docker ID ค่าละเอียดอ่อนเข้ารหัสที่ application layer
Work แยกออก
Conversation/metadata Work อยู่ SQLite ส่วน file อยู่ volume Docker ชื่อแยกที่ /workspace Container เปลี่ยนได้ volume durable
Backup database ที่ไม่มี volume ไม่ครบ ให้ backup volume ที่มี label ai.libre-webui.managed=true และ task ID การลบ task ลบ record และ volume ถาวร cancel run, stop preview หรือ restart backend ไม่ลบ file
ความเข้ากันได้ JSON
การติดตั้งเก่าเก็บ data บางส่วนใน JSON ตอนนี้ SQLite เป็นเส้นทางหลัก Backup directory ทั้งหมดก่อน upgrade Activation .status.json migrate ครั้งเดียวเฉพาะ built-in ที่ตรง definition custom/shadow ถูก quarantine จน import ใหม่ account ใหม่เริ่มไม่มี plugin active
Backup
หยุด backend:
cp -R backend/data backend/data.backup
cp -R "$DATA_DIR" "$DATA_DIR.backup"
Backup volume Work managed ทั้งหมดด้วย database, key และ volume ต้องมาจากเวลาเดียวกัน
กู้คืน
หยุด backend เปลี่ยน directory แล้ว start ด้วย ENCRYPTION_KEY เดิม Restore volume Work ด้วยชื่อ exact ก่อน startup Libre สร้าง container ใหม่ได้ แต่สร้าง file ที่หายไม่ได้
หมายเหตุการปฏิบัติการ
SQLite ใช้ WAL Directory ต้อง writable และ DATA_DIR Docker/Kubernetes ต้อง persistent Backup ENCRYPTION_KEY และ volume Work