Установка
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 — координата реестра в образ не запекается.
Следующий шаг — настроить инстанс под себя: см. Конфигурация.