NotariumДокументация
Версия документации: latest
RU

CLI образа

Образ уже знает, как себя запускать: дописывать команду в docker run не нужно, по умолчанию поднимается сервер. Аргумент заменяет только команду, поэтому разовая операция читается естественно — docker run … ОБРАЗ restore.

В работающий контейнер операторские команды зовут через docker exec, короткими именами:

docker exec notarium backup
docker exec -it notarium admin list

Команды

КомандаНазначениеКак обычно вызывают
startЗапустить HTTP/MCP-сервер как PID 1Команда образа по умолчанию
backupОтдать проверенный онлайн-ZIP потокомdocker exec notarium backup + безопасная публикация из runbook
backup verifyПроверить архив, ничего не меняяdocker exec -i notarium backup verify < файл
restoreУстановить архив в пустой корень данныхРазовый контейнер на свежем томе
adminВосстановление доступа мимо интерфейсаdocker exec -it notarium admin …
healthcheckОпросить локальный /api/healthDocker HEALTHCHECK
versionВерсия, коммит, время сборки и ссылка на исходники (--json для скриптов)Поддержка и проверка совместимости
help / --helpОписание CLI или конкретной командыЛюбой контейнер

start остаётся на переднем плане, и сигналы контейнера доходят до сервера напрямую — docker stop останавливает его штатно. Остановки и перезапуска среди команд нет намеренно: это дело оркестратора. Миграции схемы применяются при старте, отдельной командой их запускать не нужно.

Контракт потоков и кодов возврата

  • backup в потоковом режиме (без --output) отдаёт под stdout только байты ZIP; диагностика и итоговая сводка идут в stderr. С --output FILE архив пишется в файл, а в stdout уходит одна JSON-сводка — не перенаправляйте его в .zip, там будет не архив.
  • backup verify, restore и неинтерактивные команды admin печатают результат в stdout.
  • Ошибки идут в stderr и возвращают ненулевой код. Неизвестные команды, неизвестные опции, продублированные опции и опции без значения падают, а не игнорируются молча.
  • Каноничный транспорт в Docker — stdin и stdout. Парные --output FILE у backup и --input FILE у verify/restore существуют для сценариев, где каталог контейнеру уже виден. У --output есть приятное следствие: команда сама пишет во временный файл, верифицирует архив и публикует его атомарно без перезаписи, так что shell-обвязку писать не приходится.
  • У каждой команды есть --help; notarium --version эквивалентно notarium version.

Идентичность сборки

version печатает, что именно у вас запущено, — это то, с чего начинается любой разговор о совместимости и любое обновление:

docker run --rm docouno/notarium:latest version
docker compose exec notarium version --json

version --json отдаёт то же самое одним объектом — version, commit, builtAt и source (ссылка на точную ревизию исходников), — поэтому проверку «что развёрнуто» можно поставить прямо в деплой. Чего у сборки честно нет, будет null: значения не выдумываются, и на них можно опираться. То же видно в интерфейсе — Settings → About.

Version-теги неизменяемы

Опубликованный version-тег всегда означает один конкретный образ: :0.1.0 не переедет на другую сборку. Поэтому в продакшне закрепляйтесь на версии, а не на :latest. Публикуемый образ собирается под linux/amd64; на других архитектурах собирайте из исходников.

Проверка здоровья

healthcheck возвращает нулевой код, только когда локальный эндпоинт /api/health отвечает «здоров». Он рассчитан на директиву HEALTHCHECK в Docker и на пробы оркестратора — внешних зависимостей и хостового curl для этого не нужно.

Восстановление доступа

admin — операторская граница хоста. Обычные пути смены пароля в приложении есть (свой пароль — в интерфейсе, чужой — одноразовой ссылкой от администратора). Из CLI доступно другое: принудительно задать пароль, не предъявляя текущий, и выпустить администратора внеполосно. Для этих двух операций HTTP-пути нет намеренно — предъявить нечего, поэтому они живут только у того, у кого есть доступ к хосту.

docker compose exec notarium admin list
docker compose exec notarium admin create-admin <user> --random

Полный список команд и их семантика — на странице Аутентификация.

Дальше