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/health | Docker 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-тег всегда означает один конкретный образ: :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
Полный список команд и их семантика — на странице Аутентификация.
Дальше
- Бэкап и восстановление — runbook под
backup,backup verifyиrestore. - Аутентификация — что умеет
adminи когда он нужен. - Установка — запуск образа и том данных.