Instalación y arranque
Notarium se distribuye como una única imagen autónoma: un solo proceso sirve la interfaz web, la API REST y el endpoint MCP para agentes, mientras el motor de conocimiento corre justo dentro de él. No hace falta ningún servicio externo: ni base de datos, ni broker de mensajes, ni motor de búsqueda aparte. Para empezar solo necesitas Docker y un puerto libre.
Esta página es el camino rápido: levantar una instancia, abrirla en el navegador y crear al propietario. El autoalojamiento detallado (Postgres, proxy inverso, configuración de producción) está en la sección Autoalojamiento.
Qué vas a necesitar
- Docker (o Docker Desktop): nada más que instalar. Node, la base de datos y el índice de búsqueda ya vienen dentro de la imagen.
- Un puerto libre: 3000 por defecto.
- Un poco de espacio en disco para tus notas y el índice derivado.
Ejecutar un solo contenedor
El camino más corto es ejecutar la imagen precompilada docouno/notarium:
docker run -d --name notarium \
-p 3000:3000 \
-v notarium-data:/data \
docouno/notarium:latest
Al cabo de un par de segundos, abre http://localhost:3000.
Un único volumen /data guarda todo el estado: la base de datos de metadatos, los índices, tus notas y los artefactos de exportación. No hay nada más que configurar: el puerto 3000 y la ruta /data ya vienen fijados en la imagen. Puedes cambiar el puerto de la izquierda de 3000 por cualquiera que esté libre.
Si la imagen todavía no se ha descargado del registro, compílala desde el código fuente en el repositorio principal de Notarium con make up (ver más abajo): el comportamiento es idéntico.
Una alternativa es compilar desde el código fuente con make, el punto de entrada único para todo lo relacionado con Docker:
cp .env.example .env # los valores por defecto funcionan — no hay nada que rellenar
make up # compila la imagen de producción y la levanta → http://localhost:3000
Otros comandos resultan útiles en el día a día: make logs para los logs, make ps para el estado, make down para detener y eliminar, make sh para abrir una shell dentro del contenedor.
Volúmenes: dónde viven los datos
Todo el estado vive en un solo volumen, y es justo lo que debes conservar al recrear el contenedor:
| Volumen | Punto de montaje | Qué almacena |
|---|---|---|
notarium-data | /data | Todo: tus notas (/data/spaces), la base de datos de metadatos (/data/meta.db), los índices de búsqueda derivados (/data/engine) y los artefactos de exportación (/data/jobs) |
El principio clave es file-first: la fuente de verdad son los archivos .md en /data/spaces. Los índices de búsqueda y el grafo en /data/engine son derivados: se reconstruyen a partir de los archivos, así que si los pierdes, una reindexación los recupera. La base de datos de metadatos /data/meta.db —historial de versiones, usuarios y accesos— vive solo en el volumen, por lo que /data merece el mismo cuidado que tus notas. Para las copias de seguridad solo necesitas tus notas y meta.db; los índices derivados puedes dejarlos fuera.
Cambia el puerto 3000 desde la parte izquierda de -p <el-tuyo>:3000 (o mediante la variable PORT en .env). La imagen escucha en todas las interfaces del contenedor: expone exactamente lo que tú mapees.
Primer arranque: la pantalla de configuración inicial
En tu primera visita, Notarium te recibe con una pantalla de configuración inicial. No hay contraseña preestablecida: el primer visitante crea al propietario de la instancia, y esa cuenta se convierte en administrador y en propietario de los espacios que crea. Después, la configuración inicial se cierra para siempre y aterrizas en el editor, ya dentro de tu espacio personal.
Así funciona el modo de autenticación por defecto, AUTH_MODE=password. Está pensado para una instancia accesible públicamente: inicio de sesión, sesiones y tokens personales para agentes. El segundo modo, none (un único principal con acceso total, sin pantalla de inicio de sesión), solo encaja en un entorno de confianza: un escritorio, desarrollo local o una intranet cerrada. Los detalles están en la sección Autenticación.
Configuración básica
Los valores por defecto son zero-config: la imagen tal cual basta para empezar. El ajuste fino se hace mediante variables de entorno (en Docker, .env las pasa; nada queda embebido en la imagen):
| Variable | Valor | Por defecto |
|---|---|---|
PORT | El puerto en el que escucha el servidor | 3000 |
AUTH_MODE | password (inicio de sesión + configuración inicial) o none (entorno de confianza) | password |
VECTOR_SEARCH | Activar la búsqueda semántica (vectorial) además de la léxica | off en la imagen |
La búsqueda de texto completo funciona siempre y sin configuración. La búsqueda semántica (vectorial) es opcional mediante el flag VECTOR_SEARCH=on: carga un modelo de embeddings local (del orden de cientos de megabytes de RAM), por eso viene desactivada en la imagen publicada y hay que activarla de forma deliberada. Sin ella, la búsqueda sigue funcionando sobre el texto completo, sin error alguno; ese es el modo normal. La lista completa de variables y la configuración de la búsqueda están en las secciones Configuración y Configuración de la búsqueda.
Siguientes pasos
La instancia está en marcha y el propietario creado: es hora de llenar tu base de conocimiento y abrirla a un agente:
- Tu primera nota: el árbol de archivos, el editor web y el guardado en
.md. - Conectar un agente: el token, el endpoint
POST /mcpy la primera llamada.
¿Quieres entender el modelo completo? Echa un vistazo a la sección Conceptos: espacios, tipos de nota, el grafo y el modelo de acceso.