Instalación
Notarium se distribuye como una única imagen autónoma: un solo proceso de Node sirve la API REST, el endpoint MCP para agentes y la interfaz web compilada en un único puerto (3000 por defecto). No requiere servicios externos (ni base de datos, ni broker de mensajes, ni un motor de búsqueda aparte): el motor de conocimiento corre dentro de ese mismo proceso. Todo el estado vive en un único volumen /data: la base de datos de metadatos, los índices derivados, tus archivos Markdown (la fuente de la verdad) y los artefactos de exportación.
Solo Docker (o Docker Desktop) y un puerto libre. No hace falta instalar Node, una base de datos ni un índice vectorial por separado: todo está dentro de la imagen.
Ejecutar la imagen
La vía más rápida es levantar un contenedor a partir de la imagen preconstruida:
docker run -d --name notarium \
-p 3000:3000 \
-v notarium-data:/data \
docouno/notarium:latest
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 de datos /data ya vienen fijados en la imagen. El volumen sobrevive a la recreación del contenedor; el puerto a la izquierda de :3000 puede cambiarse por cualquiera que esté libre.
No hace falta añadir ningún comando al docker run: el entrypoint de la imagen es la CLI integrada notarium, que por defecto ejecuta start. Esa misma CLI trae los comandos del operador: backup, restore, admin, healthcheck, version. Consulta CLI de la imagen.
Con Docker Compose
Para una instancia que piensas conservar, un archivo compose es más fácil de editar y de llevar bajo control de versiones, y restart vuelve a levantar el contenedor tras reiniciar el host.
services:
notarium:
image: docouno/notarium:latest
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- notarium-data:/data
volumes:
notarium-data:
Guárdalo como compose.yaml y levántalo con docker compose up -d. El volumen con nombre notarium-data vive con independencia del contenedor: docker compose down lo deja intacto y solo un docker volume rm explícito lo borra.
Las variables de entorno se definen en el bloque environment: del servicio. Si prefieres tenerlas en un archivo aparte, añade ahí mismo la línea env_file: .env: un .env que simplemente esté junto al archivo compose no llega al contenedor por sí solo, porque Docker Compose únicamente lo sustituye en el texto del propio archivo compose. La lista completa, en Variables de entorno.
Primer arranque
Abre http://localhost:3000 y te recibirá la pantalla de configuración inicial. Por defecto, la instancia funciona en modo password, y el primer visitante crea al propietario: la única cuenta con derechos de administrador y propiedad sobre los espacios que crea. No hay contraseña predefinida; una vez que el propietario se registra, la configuración inicial se cierra para siempre. Para más detalles sobre los modos, consulta Autenticación.
Volúmenes de datos
| Volumen | Qué contiene | Naturaleza |
|---|---|---|
/data | Tus archivos Markdown (/data/spaces, una carpeta por espacio), la base de datos de metadatos (/data/meta.db — identificadores, historial de versiones, usuarios, accesos), los índices derivados del motor (/data/engine) y los artefactos de exportación. | Los archivos son la fuente de la verdad (el principio file-first); la base de datos de metadatos no puede derivarse de los archivos; los índices son derivados y se restauran con una reconstrucción. |
Protege el volumen en sí: si lo pierdes, tus datos se van con él. Si se pierden los índices en /data/engine, se reconstruyen a partir de los archivos, pero la base de datos de metadatos (/data/meta.db — historial, usuarios, accesos) y las notas mismas (/data/spaces) no se pueden restaurar desde ningún lado: su copia de seguridad es obligatoria. Cómo hacer una copia de seguridad verificada sin detener el servicio: Copia de seguridad y restauración.
Compilar desde el código fuente
Si trabajas con el repositorio de Notarium, el único punto de entrada para Docker es make:
cp .env.example .env # los valores por defecto funcionan — no hay nada que rellenar
make up # imagen de prod en local → http://localhost:3000
make dev # stack de desarrollo con recarga en caliente (HMR)
Comandos útiles: make logs (logs), make ps (estado), make down (detener y eliminar), make sh (shell dentro del contenedor).
Instalación sin registry (air-gapped)
Para desplegar en un entorno aislado, la imagen puede trasladarse como archivo, sin acceso a un registry (registro de imágenes):
make image # compilar la imagen
make save # exportar a notarium-<version>.tar.gz
# traslada el archivo al host de destino y luego:
docker load < notarium-<version>.tar.gz # cargar la imagen
Después ejecútala con tu propio compose/.env: la coordenada del registry no queda incrustada en la imagen.
El siguiente paso es adaptar la instancia a tus necesidades: consulta Configuración.