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

Установка

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

Что понадобится

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

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

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

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 образа.

Через Docker Compose

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

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.

Настройки — сюда же

Переменные окружения задаются блоком environment: в сервисе. Если предпочитаете держать их отдельным файлом, добавьте туда же строку env_file: .env — сам по себе .env рядом с compose-файлом в контейнер не попадает: Docker Compose подставляет его только в текст самого compose-файла. Полный перечень — Переменные окружения.

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

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

Тома данных

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

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

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

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

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)

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

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

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

Следующий шаг — настроить инстанс под себя: см. Конфигурация.