---
title: "Установка"
description: "Один Docker-образ отдаёт API, MCP и веб-интерфейс на порту 3000; один том /data держит всё состояние."
---

# Установка

Notarium поставляется как **один самодостаточный образ**: единственный Node-процесс отдаёт REST-API, MCP-эндпоинт для агентов и собранный веб-интерфейс на одном порту (по умолчанию `3000`). Внешних сервисов — базы, брокера, отдельного поискового движка — не требуется: движок знаний работает внутри того же процесса. Всё состояние живёт в одном томе `/data`: служебная БД, производные индексы, ваши Markdown-файлы (источник истины) и артефакты экспорта.

> [!note] Что понадобится
> Только **Docker** (или Docker Desktop) и свободный порт. Ставить Node, базу данных или векторный индекс отдельно не нужно — всё внутри образа.

## Запустить образ

Самый быстрый путь — поднять контейнер из готового образа:

```bash
docker run -d --name notarium \
  -p 3000:3000 \
  -v notarium-data:/data \
  docouno/notarium:latest
```

Один том `/data` держит всё состояние: служебную БД, индексы, ваши заметки и артефакты экспорта. Больше задавать нечего — порт `3000` и путь данных `/data` уже заданы в образе. Том переживает пересоздание контейнера; порт слева от `:3000` можно сменить на любой свободный.

Команду в `docker run` дописывать не нужно: точка входа образа — встроенный CLI `notarium`, и по умолчанию он запускает `start`. Тем же CLI выполняются операторские команды — `backup`, `restore`, `admin`, `healthcheck`, `version`. См. [CLI образа](/docs/self-hosting/cli/).

## Через Docker Compose

Для постоянного стенда удобнее compose-файл: его проще править и держать под версионным контролем, а `restart` поднимет контейнер после перезагрузки хоста.

```yaml
services:
  notarium:
    image: docouno/notarium:latest
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - notarium-data:/data

volumes:
  notarium-data:
```

Сохраните это как `compose.yaml` рядом и поднимите `docker compose up -d`. Именованный том `notarium-data` живёт отдельно от контейнера: `docker compose down` его не трогает, удалить том можно только явной командой `docker volume rm`.

> [!note] Настройки — сюда же
> Переменные окружения задаются блоком `environment:` в сервисе. Если предпочитаете держать их отдельным файлом, добавьте туда же строку `env_file: .env` — сам по себе `.env` рядом с compose-файлом в контейнер **не** попадает: Docker Compose подставляет его только в текст самого compose-файла. Полный перечень — [Переменные окружения](/docs/reference/environment-variables/).

## Первый запуск

Откройте `http://localhost:3000` — вас встретит **setup-экран первого запуска**. По умолчанию инстанс работает в режиме `password`, и первый посетитель заводит **владельца** — единственный аккаунт с правами администратора и владельца создаваемых пространств. Преднастроенного пароля нет; после регистрации владельца setup закрывается навсегда. Подробнее о режимах — на странице [Аутентификация](/docs/self-hosting/authentication/).

## Тома данных

| Том | Что хранит | Природа |
|---|---|---|
| `/data` | Ваши Markdown-файлы (`/data/spaces`, по папке на пространство), служебную БД (`/data/meta.db` — идентификаторы, история версий, пользователи, доступы), производные индексы движка (`/data/engine`) и артефакты экспорта. | Файлы — источник истины (принцип file-first); служебная БД невыводима из файлов; индексы — производное, восстанавливаются пересборкой. |

Берегите сам том: вместе с ним уйдут и данные. Индексы в `/data/engine` при потере пересобираются из файлов, а вот служебную БД (`/data/meta.db` — историю, пользователей, доступы) и сами заметки (`/data/spaces`) восстановить неоткуда — их бэкап обязателен. Как снять проверенный бэкап, не останавливая сервис, — [Бэкап и восстановление](/docs/self-hosting/backup/).

## Сборка из исходников

Если вы работаете с репозиторием Notarium, единая точка входа для Docker — `make`:

```bash
cp .env.example .env   # значения по умолчанию рабочие — заполнять ничего не нужно
make up                # прод-образ локально → http://localhost:3000
make dev               # dev-стек с hot-reload (HMR)
```

Полезные команды: `make logs` (логи), `make ps` (статус), `make down` (остановить и удалить), `make sh` (shell в контейнере).

## Установка без реестра (air-gapped)

Для развёртывания в изолированном контуре образ можно перенести файлом, без доступа к реестру:

```bash
make image                              # собрать образ
make save                               # экспорт в notarium-<version>.tar.gz
# перенесите архив на целевой хост, затем:
docker load < notarium-<version>.tar.gz # загрузить образ
```

Дальше запустите его своим `compose`/`.env` — координата реестра в образ не запекается.

Следующий шаг — настроить инстанс под себя: см. [Конфигурация](/docs/self-hosting/configuration/).
