Сховище SQLite
Типово Libre WebUI зберігає чати, повідомлення, користувачів, налаштування, документи, фрагменти, персони, облікові дані плагінів, пам’ять і метадані в одній локальній базі SQLite.
Розташування
Джерело:
DATA_DIR, якщо задано; відносний шлях обчислюється від каталогу серверної частини.backend/data, якщо ні.
Для сумісності без налаштування використовується backend/backend/data, якщо це єдине довговічне сховище. Якщо стан є в обох, запуск вимагає явного вибору й не копіює чи об’єднує.
Засіб запуску з пакета npm/Homebrew типово використовує ~/.libre-webui й розв’язує відносний DATA_DIR від каталогу виклику. Docker/Kubernetes задають абсолютні шляхи.
Файл — data.sqlite.
DATA_DIR=/var/lib/libre-webui
Що зберігає SQLite
Користувачів і ролі, сеанси й повідомлення, налаштування інтерфейсу, документи й фрагменти, персони/пам’ять/мутації, облікові дані плагінів і прив’язки маршрутизації та автентифікації, змінні, активації, схвалення, каталоги моделей, системні налаштування, а також власність Work, маршрути, запуски, повідомлення, активність інструментів, стан та ID Docker. Чутливі значення шифруються на рівні застосунку.
Work розділено
Розмова й метадані Work у SQLite, файли — в окремому іменованому Docker-томі на /workspace. Контейнер замінний, том довговічний.
Резервна копія бази без томів неповна. Резервуйте томи; вони мають мітки ai.libre-webui.managed=true й ID завдання.
Видалення завдання назавжди видаляє записи й том. Скасування запуску, зупинка попереднього перегляду або перезапуск серверної частини не видаляють файлів.
Сумісність JSON
Старі інсталяції використовували JSON для частини даних; тепер основним є SQLite із рівнем служб і моделей. Перед оновленням резервуйте весь каталог.
Активація з .status.json один раз переноситься в рядки кожного користувача лише для точних вбудованих визначень. Власні й тіньові визначення залишаються в карантині до повторного імпорту; схвалення не повертає старих активацій. Нові облікові записи починають без активних плагінів.
Резервне копіювання
Зупиніть серверну частину:
cp -R backend/data backend/data.backup
cp -R "$DATA_DIR" "$DATA_DIR.backup"
Для Work також резервуйте всі керовані томи. База, ключ і томи мають відповідати одному моменту.
Відновлення
Зупиніть серверну частину, замініть каталог і запустіть її. Збережіть той самий ENCRYPTION_KEY.
Для Work відновіть томи під точними іменами до запуску. Libre відтворить контейнер, але не відсутні файли з історії.
Експлуатаційні примітки
SQLite використовує WAL. Каталог має бути доступним для запису. DATA_DIR у Docker/Kubernetes має бути постійним. Резервуйте ENCRYPTION_KEY. Окремо враховуйте томи Work.