Перейти к содержанию

Хранилище

Том Docker backend-data смонтирован в контейнере backend как /app/data. Образы этого каталога не содержат. make backup упаковывает его в tar в ./backups на хосте.

Файлы и базы

Путь в контейнере Формат Содержание
/app/data/users.json JSON Логины, хеш bcrypt, роль, признак OIDC
/app/data/user_prefs.json JSON Выбранный Style Guide пользователя
/app/data/llm_settings.json JSON Адрес модели и эмбеддингов, ключи. Перекрывает .env
/app/data/styleguides/<id>.yaml YAML Правила и словарь гайда
/app/data/jobs.db SQLite Задачи вычитки: статус, стадия, готовый отчёт
/app/data/stats.db SQLite История проверок, счётчики правил и токенов
/app/data/watch.db SQLite Группы и страницы наблюдения, снимки
/app/data/api_specs.json JSON Связки OpenAPI
/app/data/screenshot_templates.json JSON Шаблоны ширины редактора
/app/data/audit.jsonl JSONL Журнал действий администратора
/app/data/rules.json JSON Пользовательские regex-правила (HTTP /api/rules)
/app/data/repo/folders.json JSON Дерево папок репозитория
/app/data/repo/docs/<id>.json JSON Карточка документа и версии
/app/data/repo/blobs/<id>/<n>.bin байты Файл версии

Встроенный гайд сидится из образа: /app/styleguide/rules.yaml. Копия на томе живёт в styleguides/default.yaml и не удаляется.

Репозиторий документов общий для всех пользователей. Потолок файла репозитория: REPO_MAX_FILE_BYTES, по умолчанию 25 МБ (это не лимит вычитки в 50 МБ).

Что не на томе

Сессии входа: словарь в памяти процесса. Рестарт backend сбрасывает cookie.

Живой SSE-текст воркеров: только память, в SQLite не пишется. Готовый отчёт в jobs.db остаётся.

LanguageTool своего тома не имеет: словари внутри образа JVM.

Снимки

BACKUP_DIR в контейнере, по умолчанию /app/backups, на хосте ./backups. BACKUP_KEEP - сколько tar хранить, по умолчанию 7.

Восстановление: остановить стек, распаковать tar так, чтобы снова получился каталог data внутри тома, запустить стек.