Перейти до вмісту
Обрати мову:Українська

Операторський CLI

Образ містить команду kept для особи, що запускає сервер: міграції, спосіб повернутися, коли ніхто не може ввійти, ключі, резервні копії. kept admin --help перелічує все; кожна команда, що змінює щось, аудитується, а особі, чий акаунт вона стосується, повідомляють листом.

Більшість команд потребують облікового запису власника бази даних (KEPT_OWNER_DATABASE_URL), який має лише одноразова служба migrate; контейнер обслуговування його ніколи не має. Його точка входу — kept, тож:

Terminal window
docker compose run --rm migrate admin <command>

Два види команд потребують томів контейнера обслуговування:

  • recovery-kit читає ключі з тому конфігурації і друкує їх навіть без бази даних: docker compose exec kept kept admin recovery-kit. З KEPT_OWNER_DATABASE_URL (нижче) він також має резервний репозиторій, його пароль і його облікові дані.
  • token create потребує ключів і облікових записів обслуговування, які має контейнер kept: docker compose exec kept kept admin token create … (нижче).
  • rotate-key, backup, restore і export потребують ключів або файлів, а також облікового запису власника. Дайте службі kept KEPT_OWNER_DATABASE_URL у compose.override.yaml (як для резервних копій), потім запустіть їх в одноразовому контейнері: docker compose run --rm --no-deps --entrypoint kept kept admin <command>.
Команда Що робить
kept migrate Застосовує очікувані міграції один раз під блокуванням бази даних (служба migrate запускає їх при кожному запуску).
kept admin setup-code Видає код початкового налаштування повторно, поки налаштування очікується, і знімає блокування на рівні екземпляра.
kept admin reset-password <login> Одноразовий код скидання пароля, дійсний годину; виходить з акаунта в усіх місцях.
kept admin disable-user <login> / enable-user <login> Забороняє акаунту входити (і завершує його сесії) або знову дозволяє це.
kept admin transfer-ownership <locationId> <toUserId> Передає локацію іншому власнику; попередній власник стає її адміністратором.
kept admin recovery-kit [--format text|html] [--out <file>] Набір відновлення, який слід тримати поза сервером: ключі, резервний репозиторій і його облікові дані, кроки відновлення. Див. набір відновлення.
kept admin token create --user <login> --scope read|write --name <name> Особистий токен для клієнтів MCP і Home Assistant, що друкується один раз; --expires <days>, --location <id or name> (можна повторювати), --confirm-cross-location. З 1.13.0. Див. токен із сервера.
kept admin gen-key Друкує новий ключ, щоб самому встановити KEPT_SECRET_KEY або KEPT_AUTH_SECRET.
kept admin rotate-key Робить новий секретний ключ поточним і повторно обгортає кожен збережений секрет. --resume завершує перерваний; --drop <version> видаляє виведений з експлуатації ключ, який нічого не використовує.
kept admin backup Робить резервну копію зараз (знімок restic); --list перелічує знімки та будь-які старіші резервні копії до restic; --accept-size приймає набагато меншу резервну копію як нову норму. Див. резервні копії.
kept admin backup verify Перевіряє резервний репозиторій; --read-data <percent> також читає цю частку даних; із файловим сховищем S3 перевіряє файли проти бакета (--all-files для кожного, а не одного з 20).
kept admin backup drill --into <database> Відновлює найновішу резервну копію в порожню тимчасову базу даних і перевіряє її: щомісячне тренування.
kept admin backup unlock Видаляє застаріле блокування restic після збою; відмовляє, поки виконується резервне копіювання.
kept admin restore <snapshot> Відновлює знімок (або latest) у порожню базу даних і перевіряє його; --legacy <id> відновлює резервну копію до restic, на один випуск. Див. відновлення.
kept admin readable --out <dir> Записує читабельну копію кожної локації (HTML, CSV, файли) у каталог; --location <id> для однієї, --no-pdf без PDF-файлів інвентарю.
kept admin storage copy --to s3|local Копіює кожен файл в інше сховище, перевіряючи хеш кожного; --dry-run лише рахує. Див. перемикання файлового сховища.
kept admin storage verify --store s3|local Перевіряє, що кожен файл, на який посилається база даних, є в цьому сховищі з правильними байтами.
kept admin export --out <dir> Кожен рядок у необробленому вигляді, із секретами, що все ще запечатані, і кожен файл — у новий каталог: аварійний вихід, такий же чутливий, як резервна копія.
kept admin backfill-pdf-text Читає текст PDF-файлів, завантажених до того, як Kept читав PDF, щоб пошук їх знаходив.
kept admin config Друкує довідку з конфігурації для цієї версії.

kept admin seed існує для розробки і відмовляється працювати у виробництві.

Застосунок створює особисті токени лише через HTTPS (Налаштування → З’єднання відмовляє через простий http). Kept у домашній мережі через http все ж може підключити ШІ-застосунок або Home Assistant: токен там створює особа, що запускає сервер. З 1.13.0:

Terminal window
docker compose exec kept kept admin token create \
--user ibrahim@example.com --scope read --name "Home Assistant"
  • --user — це особа, від імені якої діє токен: її електронна адреса або ім’я користувача керованого акаунта. Він може робити те, що може вона, і нічого більше.
  • --scope read лише читає; --scope write може також змінювати щось.
  • Без --location він охоплює кожну локацію, до якої належить особа, крім тих, до яких не може: локацію, що вимагає двофакторну автентифікацію (створений тут токен не має другого фактора; створіть його в Налаштування → З’єднання через HTTPS) і, для токена запису, ті, де вона є переглядачем. Кожну пропущену названо. --location (ідентифікатор або назва, можна повторювати) вибирає їх натомість.
  • Токен запису між локаціями, учасники яких різняться, зупиняється з попередженням, як у застосунку; --confirm-cross-location створює його попри це.
  • --expires <days> завершує його після стількох днів; без нього він працює до відкликання.

Він друкує токен один раз, у рядку, що починається з KEPT TOKEN:, та адресу сервера MCP. Kept зберігає лише його відбиток. Особа бачить його в Налаштування → З’єднання, де може його відкликати, і її повідомляють листом.