Installation
Notarium wird als ein einziges, in sich geschlossenes Image ausgeliefert: Ein einzelner Node-Prozess bedient die REST-API, den MCP-Endpunkt für Agenten und die kompilierte Weboberfläche auf einem einzigen Port (standardmäßig 3000). Externe Dienste braucht es nicht — keine Datenbank, keinen Message-Broker, keine separate Suchmaschine: Die Wissens-Engine läuft im selben Prozess. Der gesamte Zustand liegt in einem einzigen /data-Volume: die Metadaten-Datenbank, die abgeleiteten Indizes, deine Markdown-Dateien (die Quelle der Wahrheit) und die Export-Artefakte.
Nur Docker (oder Docker Desktop) und einen freien Port. Node, eine Datenbank oder einen Vektor-Index musst du nicht separat installieren — alles steckt im Image.
Das Image starten
Am schnellsten geht es, einen Container aus dem fertigen Image hochzufahren:
docker run -d --name notarium \
-p 3000:3000 \
-v notarium-data:/data \
docouno/notarium:latest
Ein einziges /data-Volume hält den gesamten Zustand: die Metadaten-Datenbank, die Indizes, deine Notizen und die Export-Artefakte. Mehr ist nicht einzustellen — Port 3000 und der Datenpfad /data stecken bereits im Image. Das Volume übersteht das Neuanlegen des Containers; den Port links von :3000 kannst du auf jeden freien Port ändern.
Einen Befehl musst du an docker run nicht anhängen: Der Entrypoint des Images ist die eingebaute CLI notarium, und standardmäßig führt sie start aus. Dieselbe CLI bringt die Betreiberbefehle mit — backup, restore, admin, healthcheck, version. Siehe Image-CLI.
Mit Docker Compose
Für eine Instanz, die dauerhaft bleiben soll, ist eine Compose-Datei die bequemere Wahl: leichter zu bearbeiten und leichter unter Versionskontrolle zu halten — und restart holt den Container nach einem Neustart des Hosts zurück.
services:
notarium:
image: docouno/notarium:latest
restart: unless-stopped
ports:
- "3000:3000"
volumes:
- notarium-data:/data
volumes:
notarium-data:
Speichere das Ganze als compose.yaml und fahre es mit docker compose up -d hoch. Das benannte Volume notarium-data existiert unabhängig vom Container: docker compose down lässt es unangetastet, gelöscht wird es nur durch ein ausdrückliches docker volume rm.
Umgebungsvariablen setzt du im environment:-Block des Service. Hältst du sie lieber in einer eigenen Datei, ergänze dort zusätzlich die Zeile env_file: .env — eine .env-Datei neben der Compose-Datei erreicht den Container von allein nicht: Docker Compose setzt sie nur in den Text der Compose-Datei selbst ein. Die vollständige Liste — Umgebungsvariablen.
Erster Start
Öffne http://localhost:3000 — es begrüßt dich der Setup-Bildschirm beim ersten Start. Standardmäßig läuft die Instanz im Modus password, und der erste Besucher legt den Eigentümer an — das einzige Konto mit Administratorrechten und Eigentümerschaft an den von ihm erstellten Spaces. Ein voreingestelltes Passwort gibt es nicht; sobald sich der Eigentümer registriert hat, schließt sich das Setup endgültig. Mehr zu den Modi auf der Seite Authentifizierung.
Daten-Volumes
| Volume | Was es enthält | Art |
|---|---|---|
/data | Deine Markdown-Dateien (/data/spaces, ein Ordner pro Space), die Metadaten-Datenbank (/data/meta.db — Identifikatoren, Versionsverlauf, Benutzer, Zugriffe), die abgeleiteten Indizes der Engine (/data/engine) und die Export-Artefakte. | Dateien sind die Quelle der Wahrheit (das File-first-Prinzip); die Metadaten-Datenbank lässt sich nicht aus den Dateien ableiten; die Indizes sind abgeleitet und werden durch einen Neuaufbau wiederhergestellt. |
Schütze das Volume selbst: Geht es verloren, gehen deine Daten mit. Sind die Indizes in /data/engine verloren, werden sie aus den Dateien neu aufgebaut — die Metadaten-Datenbank (/data/meta.db — Verlauf, Benutzer, Zugriffe) und die Notizen selbst (/data/spaces) lassen sich dagegen nirgendwoher wiederherstellen; ihr Backup ist Pflicht. Wie du ein verifiziertes Backup ziehst, ohne den Dienst anzuhalten, steht unter Backup und Wiederherstellung.
Aus dem Quellcode bauen
Wenn du mit dem Notarium-Repository arbeitest, ist make der einheitliche Einstiegspunkt für Docker:
cp .env.example .env # die Defaults funktionieren — nichts auszufüllen
make up # Prod-Image lokal → http://localhost:3000
make dev # Dev-Stack mit Hot-Reload (HMR)
Praktische Befehle: make logs (Logs), make ps (Status), make down (stoppen und entfernen), make sh (Shell im Container).
Installation ohne Registry (air-gapped)
Für die Bereitstellung in einer isolierten Umgebung lässt sich das Image als Datei übertragen, ohne Zugriff auf eine Registry:
make image # Image bauen
make save # Export nach notarium-<version>.tar.gz
# das Archiv auf den Zielhost übertragen, dann:
docker load < notarium-<version>.tar.gz # Image laden
Starte es dort mit deinem eigenen compose/.env — die Registry-Koordinate steckt nicht fest im Image.
Der nächste Schritt ist, die Instanz an deine Bedürfnisse anzupassen: siehe Konfiguration.