NotariumDokumentation
Dokumentationsversion: latest
DE

Installation und Start

Notarium wird als ein einziges, in sich geschlossenes Image ausgeliefert: Ein Prozess bedient die Weboberfläche, die REST-API und den MCP-Endpunkt für Agenten, während die Wissens-Engine direkt darin läuft. Externe Dienste — keine Datenbank, kein Message-Broker, keine separate Suchmaschine — braucht es nicht. Für den Start genügen Docker und ein freier Port.

Diese Seite ist der schnelle Weg: eine Instanz hochfahren, im Browser öffnen und den Owner anlegen. Das ausführliche Self-Hosting (Postgres, Reverse-Proxy, Produktionskonfiguration) findet sich im Abschnitt Self-Hosting.

Was du brauchst

  • Docker (oder Docker Desktop) — mehr ist nicht zu installieren: Node, die Datenbank und der Suchindex stecken bereits im Image.
  • Einen freien Port — standardmäßig 3000.
  • Etwas Speicherplatz für deine Notizen und den abgeleiteten Index.

Start mit einem einzigen Container

Der kürzeste Weg ist, das fertige Image docouno/notarium zu starten:

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

Öffne nach ein paar Sekunden http://localhost:3000.

Ein einziges Volume /data hält den gesamten Zustand — die Metadaten-Datenbank, die Indizes, deine Notizen und die Export-Artefakte. Mehr ist nicht zu konfigurieren: Port 3000 und der Pfad /data sind bereits im Image hinterlegt. Den Port links von 3000 kannst du auf jeden beliebigen freien Port ändern.

Aus dem Quellcode bauen

Falls das Image noch nicht aus der Registry gezogen wurde, bau es im Haupt-Repository von Notarium aus dem Quellcode mit make up (siehe unten): Das Verhalten ist identisch.

Alternativ baust du aus dem Quellcode über make, den zentralen Einstiegspunkt für alles rund um Docker:

cp .env.example .env   # die Defaults funktionieren — nichts auszufüllen
make up                # das Prod-Image bauen und hochfahren → http://localhost:3000

Für den täglichen Betrieb sind weitere Befehle praktisch: make logs für Logs, make ps für den Status, make down zum Stoppen und Entfernen, make sh für eine Shell im Container.

Volumes: wo die Daten liegen

Der gesamte Zustand liegt in einem einzigen Volume — genau das musst du beim Neuanlegen des Containers bewahren:

VolumeMount-PunktWas es speichert
notarium-data/dataAlles: deine Notizen (/data/spaces), die Metadaten-Datenbank (/data/meta.db), die abgeleiteten Suchindizes (/data/engine) und die Export-Artefakte (/data/jobs)

Das Leitprinzip ist file-first: Die Quelle der Wahrheit sind die .md-Dateien in /data/spaces. Die Suchindizes und der Graph in /data/engine sind abgeleitet: Sie werden aus den Dateien neu aufgebaut, gehen sie also verloren, holt ein Reindex sie zurück. Die Metadaten-Datenbank /data/meta.db — Versionsverlauf, Benutzer und Zugriffe — existiert nur im Volume, deshalb verdient /data dieselbe Sorgfalt wie deine Notizen. Für Backups brauchst du nur deine Notizen und meta.db; die abgeleiteten Indizes kannst du weglassen.

Dein eigener Port

Ändere den Port 3000 über die linke Seite von -p <deiner>:3000 (oder über die Variable PORT in .env). Das Image lauscht auf allen Interfaces des Containers — nach außen gibt es genau das frei, was du mappst.

Erster Start: der Setup-Bildschirm

Beim ersten Besuch begrüßt dich Notarium mit einem Setup-Bildschirm. Es gibt kein voreingestelltes Passwort: Der erste Besucher legt den Owner der Instanz an — dieses Konto wird zum Administrator und zum Eigentümer der Spaces, die es erstellt. Danach schließt sich das Setup für immer, und du landest im Editor, bereits in deinem persönlichen Space.

So funktioniert der Standard-Authentifizierungsmodus — AUTH_MODE=password. Er ist für eine öffentlich erreichbare Instanz gedacht: Login, Sessions, persönliche Tokens für Agenten. Der zweite Modus, none (ein einziger Principal mit Vollzugriff, kein Login-Bildschirm), passt nur in eine vertrauenswürdige Umgebung: ein Desktop, lokale Entwicklung oder ein geschlossenes Intranet. Die Details stehen im Abschnitt Authentifizierung.

Grundkonfiguration

Die Defaults sind Zero-Config: Das Image genügt so, wie es ist, für den Start. Die Feinabstimmung läuft über Umgebungsvariablen (in Docker reicht .env sie durch; ins Image wird nichts eingebacken):

VariableWertDefault
PORTDer Port, auf dem der Server lauscht3000
AUTH_MODEpassword (Login + Setup) oder none (vertrauenswürdige Umgebung)password
VECTOR_SEARCHSemantische (Vektor-)Suche zusätzlich zur lexikalischen aktivierenoff im Image

Die Volltextsuche funktioniert immer und ohne Konfiguration. Die semantische (Vektor-)Suche wird bei Bedarf über das Flag VECTOR_SEARCH=on aktiviert: Sie zieht ein lokales Embeddings-Modell heran (in der Größenordnung von einigen hundert Megabyte RAM), deshalb ist sie im veröffentlichten Image deaktiviert und wird bewusst eingeschaltet. Ohne sie durchsucht die Suche weiterhin den vollen Text — ohne Fehler, das ist der Normalbetrieb. Die vollständige Liste der Variablen und das Einrichten der Suche stehen in den Abschnitten Konfiguration und Suche einrichten.

Nächste Schritte

Die Instanz läuft und der Owner ist angelegt — Zeit, deine Wissensbasis zu füllen und sie einem Agenten zu öffnen:

Willst du das gesamte Modell verstehen? Wirf einen Blick in den Abschnitt Konzepte: Spaces, Notiztypen, den Graphen und das Zugriffsmodell.