Self-Hosting-Übersicht
Architektur, Deployment-Modi und Systemanforderungen.
Self-Hosting von Noirdoc erfordert eine kommerzielle Lizenz. Kontaktieren Sie uns für Zugang zum Docker-Image und Lizenzdetails.
Warum Self-Hosting?
Noirdoc Cloud nimmt Ihnen die gesamte Infrastruktur ab, aber manche Organisationen benoetigen die vollstaendige Kontrolle über ihre Datenverarbeitung. Beim Self-Hosting betreiben Sie den gesamten Noirdoc-Proxy auf Ihrer eigenen Infrastruktur — Ihre Server, Ihr Netzwerk, Ihre Regeln. Pseudonym-Mappings und Provider-API-Keys verlassen Ihre Umgebung zu keinem Zeitpunkt.
Architektur
Ein selbst gehostetes Noirdoc-Deployment besteht aus drei Kerndiensten:
- Proxy — die FastAPI-Anwendung (Python 3.13+), bereitgestellt mit Uvicorn. Übernimmt PII-Erkennung, Pseudonymisierung, Request-Weiterleitung und Response-Wiederherstellung.
- PostgreSQL — speichert Tenants, Portal-Konfigurationen, Provider-Einstellungen und Audit-Daten. Erfordert PostgreSQL 14 oder hoeher.
- Redis — speichert Pseudonym-Mappings für die requestübergreifende Persistenz. Mappings werden mit dem konfigurierten Fernet-Key verschluesselt gespeichert.
Ein optionaler vierter Dienst, Caddy, kann vor den Proxy geschaltet werden, um automatisches HTTPS über Let’s Encrypt bereitzustellen. Dies wird für Produktions-Deployments empfohlen, die über das Internet erreichbar sind, ist aber für interne oder Entwicklungs-Setups nicht erforderlich.
Client-App --> [Caddy (optional)] --> Noirdoc Proxy --> LLM-Provider
| |
Postgres Redis
Deployment-Modi
Noirdoc unterstützt zwei Deployment-Modi, gesteuert über die Umgebungsvariable MODE.
Cloud-Modus (MODE=cloud)
Der Cloud-Modus ist das vollstaendige Multi-Tenant-Deployment. Er umfasst:
- JWT-basierte Authentifizierung mit Access- und Refresh-Tokens
- Multi-Tenant-Isolation — jeder Tenant hat eigene Provider, Keys und Mappings
- Admin-Portal zur Verwaltung von Benutzern, Tenants und Provider-Konfigurationen
- Automatische Erstellung eines Admin-Benutzers über Umgebungsvariablen
Verwenden Sie den Cloud-Modus, wenn Sie mehrere Teams oder Organisationen über eine einzige Noirdoc-Instanz bedienen moechten oder das vollstaendige Admin-Portal benoetigen.
Standalone-Modus (MODE=standalone)
Der Standalone-Modus ist ein vereinfachtes Single-Tenant-Deployment. Er verzichtet auf Benutzer- und Tenant-Verwaltung zugunsten eines einzelnen statischen Bearer-Tokens. Dies ist der einfachste Weg, Noirdoc für ein einzelnes Team oder eine einzelne Anwendung selbst zu hosten.
- Keine Benutzerkonten, keine JWT-Tokens, kein Portal
- Authentifizierung über einen statischen
STANDALONE_BEARER_TOKEN - Ein einzelner Provider, konfiguriert über Umgebungsvariablen
- Alle anderen Funktionen — PII-Erkennung, Pseudonymisierung, Streaming, Dateiverarbeitung — funktionieren identisch
Detaillierte Einrichtungsanweisungen finden Sie in der Konfigurationsreferenz.
Systemanforderungen
Minimale Hardware
- CPU: 2 Kerne (4 empfohlen — das NER-Modell profitiert von paralleler Inferenz)
- RAM: Mindestens 4 GB, 8 GB empfohlen (das NER-Modell wird beim Start in den Speicher geladen)
- Festplatte: 10 GB für das Docker-Image und die Datenbankspeicherung
Software
- Docker Engine 24+ und Docker Compose V2
- Alternativ Python 3.13+ mit pip für Bare-Metal-Installationen (für Produktion nicht empfohlen)
Netzwerk
- Ausgehender HTTPS-Zugriff auf Ihren LLM-Provider (z. B.
api.openai.com,api.anthropic.com) - Eingehender Zugriff auf Port 8000 (Proxy) oder 443 (bei Verwendung von Caddy für HTTPS)
Health-Check
Jede Noirdoc-Instanz stellt einen Health-Endpunkt unter GET /health bereit. Verwenden Sie ihn für Container-Orchestrierung, Load-Balancer-Probes oder Monitoring:
curl http://localhost:8000/health
{
"status": "ok",
"version": "1.0.0",
"mode": "standalone"
}
Das Feld mode zeigt den aktiven Deployment-Modus an. Das Feld version gibt die laufende Noirdoc-Version zurueck.
Nächste Schritte
- Docker-Deployment — in wenigen Minuten mit Docker Compose starten
- Konfigurationsreferenz — Deployment-Modi, Umgebungsvariablen und Beispiele