---
title: "Образ CLI"
description: "Образ — қолданба-аспап: notarium entrypoint, start, backup, restore, admin, healthcheck және version пәрмендері, ағындар мен шығу кодтарының келісімі."
---

# Образ CLI

Образ өзін қалай іске қосу керегін біледі: `docker run` соңына пәрмен жазудың қажеті жоқ — әдепкіде сервер көтеріледі. Аргумент тек пәрменді ғана алмастырады, сондықтан бір реттік операция табиғи оқылады — `docker run … IMAGE restore`.

Жұмыс істеп тұрған контейнерге операторлық пәрмендер `docker exec` арқылы, қысқа атаулармен беріледі:

```bash
docker exec notarium backup
docker exec -it notarium admin list
```

## Пәрмендер

| Пәрмен | Не істейді | Әдетте қалай шақырылады |
|---|---|---|
| `start` | HTTP/MCP-серверді PID 1 ретінде іске қосады | Образдың әдепкі пәрмені |
| `backup` | Тексерілген онлайн-ZIP-ті ағынмен береді | `docker exec notarium backup` және [runbook](/docs/self-hosting/backup/) ішіндегі қауіпсіз жариялау тәртібі |
| `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` оны дұрыс тәртіппен тоқтатады. Тоқтату мен қайта қосу пәрмендері әдейі жоқ: бұл — оркестратордың ісі. Схема миграциялары іске қосу кезінде қолданылады, оларды бөлек пәрменмен жүргізудің қажеті жоқ.

## Ағындар мен шығу кодтарының келісімі

- Ағындық режимде (`--output` жоқ кезде) `backup` stdout-қа **тек** ZIP байттарын береді; диагностика мен қорытынды түйіндеме stderr-ге кетеді. `--output FILE` берілсе, архив файлға жазылады да, stdout-қа бір ғана JSON-түйіндеме шығады — оны `.zip`-ке бағыттамаңыз, ол жерде архив болмайды.
- `backup verify`, `restore` және `admin`-нің интерактивті емес пәрмендері нәтижесін stdout-қа басып шығарады.
- Қателер stderr-ге кетеді және нөлдік емес код қайтарады. Белгісіз пәрмендер, белгісіз опциялар, қайталанған опциялар және мәні жоқ опциялар үнсіз еленбей қалмайды — **қатемен тоқтайды**.
- Docker-дегі канондық тасымал — **stdin мен stdout**. `backup`-тағы `--output FILE` пен `verify`/`restore`-дағы `--input FILE` жұбы — контейнерге каталог бұрыннан көрініп тұрған жағдайлар үшін. `--output`-тың бір жағымды қыры бар: пәрмен уақытша файлға өзі жазады, архивті тексереді және оны ештеңені қайта жазбай, атомарлы түрде жариялайды — сондықтан shell-орауыш жазудың қажеті болмайды.
- Әр пәрменнің `--help`-і бар; `notarium --version` — `notarium version`-мен бірдей.

## Жинақ бірегейлігі

`version` сізде дәл не жұмыс істеп тұрғанын басып шығарады — үйлесімділік туралы кез келген әңгіме де, кез келген жаңарту да осыдан басталады:

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

`version --json` дәл сол мәліметті бір объектімен береді — `version`, `commit`, `builtAt` және `source` (бастапқы кодтың нақты ревизиясына сілтеме), — сондықтан «не орналастырылған» деген тексеруді тікелей деплойға қоюға болады. Жинақта шынымен жоқ нәрсе `null` болып қайтады: мәндер ойдан шығарылмайды, оларға сүйенуге болады. Дәл сол ақпарат интерфейсте де көрінеді — **Settings → About**.

> [!important] Нұсқа тегтері өзгермейді
> Жарияланған нұсқа тегі әрқашан бір нақты образды білдіреді: `:0.1.0` басқа жинаққа көшпейді. Сондықтан өнімдік ортада `:latest`-ке емес, нақты нұсқаға бекітіліңіз. Жарияланатын образ `linux/amd64` үшін жиналады; басқа архитектураларда бастапқы кодтан жинаңыз.

## Күй тексеруі

`healthcheck` нөлдік кодты тек жергілікті `/api/health` эндпоинті «сау» деп жауап бергенде ғана қайтарады. Ол Docker-дегі `HEALTHCHECK` директивасына және оркестратордың тексеру пробаларына арналған — бұл үшін сыртқы тәуелділіктер де, хосттағы `curl` да қажет емес.

## Рұқсатты қалпына келтіру

`admin` — хосттағы оператор шекарасы. Парольді ауыстырудың әдеттегі жолдары қолданбаның өзінде бар (өз паролін — интерфейсте, басқаның паролін — әкімшінің бір реттік сілтемесі арқылы). CLI арқылы басқа нәрсе қолжетімді: ағымдағы парольді көрсетпей-ақ парольді **мәжбүрлеп** орнату және әкімшіні қолданбадан тыс жолмен тағайындау. Бұл екі операция үшін HTTP-жол әдейі жоқ — көрсетер ештеңе жоқ, сондықтан олар тек хостқа қолжетімділігі бар адамның қолында.

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

Пәрмендердің толық тізімі мен олардың мағынасы — [Аутентификация](/docs/self-hosting/authentication/#рұқсатты-қалпына-келтіру) бетінде.

## Әрі қарай

- [Сақтық көшірме және қалпына келтіру](/docs/self-hosting/backup/) — `backup`, `backup verify` және `restore` үшін runbook.
- [Аутентификация](/docs/self-hosting/authentication/) — `admin` не істей алады және ол қашан керек.
- [Орнату](/docs/self-hosting/install/) — образды іске қосу және деректер томы.
