Dieser Atlas dokumentiert die Architektur des LATUS AI Stack in der Tiefe, die du für Audit, technische Übernahme oder
Lizenzierung benötigst. Drei Ebenen werden sichtbar: die Schichtung nach Zugriffs-Klasse (User-Facing,
Internal-IT, Direct-Exposed), die Komponenten-Topologie über QNAP und Olares hinweg sowie
die Entscheidungs-Historie als Architecture-Decision-Records. Quelle aller Aussagen sind die ADRs unter
docs/architecture/decisions/ und der Apply-Log als Single-Source-of-Truth.
ADR-009-Boundary – Drei Schichten der LATUS-Architektur
Architektur-Boundary für Routing und Authentifizierung
Jeder Endpunkt im LATUS AI Stack wird genau einer von drei Kategorien zugeordnet. Die Kategorie bestimmt Routing-Pfad, Authentifizierungs-Schicht und Erreichbarkeits-Modell. Diese Trennung verhindert, dass interne IT-Werkzeuge versehentlich über Cloudflare exponiert werden und dass User-Facing-Komponenten ohne SSO-Schutz erreichbar sind.
User-Facing (CF + Casdoor)
Cloudflare-Tunnel mit Casdoor-SSO. Einheitlicher Login-Pfad für Mitarbeitende, Auditoren und Pilot-Kunden.
- latus-ai · kompass · handbuch
- status · auth · ragflow
- latus-n8n · s3 · static
Internal-IT (LAN + WireGuard)
Betriebs- und Verwaltungs-Werkzeuge des Host-Systems. Keine Cloudflare-Exposition, Zugriff ausschließlich via WireGuard-VPN. Strikt getrennt von der LATUS-User-Facing-Schicht.
- Host-Betrieb · Backup · Wartung
- LAN-only, keine Zero-Trust-Exposition
Direct-Exposed
Host-Komponenten mit eigener TLS- und Auth-Schicht außerhalb von Caddy. Cloudflare wirkt hier nur als CDN-Layer ohne Zero-Trust-Policy – bewusst isoliert vom LATUS-Stack.
- Eigene TLS-Terminierung
- Eigene Auth, eigene Session
Funktionale Subdomain-Karte
latus-consulting.cloud · Migrations-Stand
Die zwölf Subdomains der Zone latus-consulting.cloud werden derzeit aus der bisherigen
Zone latus-consulting.de bzw. den Hilfs-Zonen migriert. Status-Punkte zeigen den
Live-Stand: grün = produktiv erreichbar, gelb = in aktiver Migration, grau = vorgesehen aber noch
nicht öffentlich.
| Subdomain | Funktion | Status |
|---|---|---|
| kompass.latus-consulting.cloud | LATUS Kompass – Einstiegs-Portal für Auditoren und Pilot-Kunden | Live |
| fiberproof.latus-consulting.cloud | Fiberproof-AI-Landingpage, öffentlich für Partner-Review | Live |
| ragflow.latus-consulting.cloud | RAGFlow Citation-Preview – Klick aus dem Chat auf die Original-Stelle | Live |
| s3.latus-consulting.cloud | MinIO Storage – S3-kompatibler Upload-Endpunkt | Live |
| latus-ai.latus-consulting.cloud | LobeChat – primäre Chat-Oberfläche für Mitarbeitende | In Migration |
| handbuch.latus-consulting.cloud | Benutzerhandbuch (gerendertes Markdown) | In Migration |
| status.latus-consulting.cloud | Uptime-Kuma – Status-Page mit 24 Heartbeat-Monitoren | In Migration |
| auth.latus-consulting.cloud | Casdoor – SSO-Provider, MS-Entra-Bridge | In Migration |
| n8n.latus-consulting.cloud | n8n Workflow-Plattform (Geschäfts- und Stabilisierungs-Workflows) | In Migration |
| geocoding.latus-consulting.cloud | Geocoding-AI – Adress-Matching-API auf Nominatim-Basis | In Migration |
| geocoding-demo.latus-consulting.cloud | Geocoding-AI Demo-Oberfläche für Partner-Review | In Migration |
| static.latus-consulting.cloud | Statische Assets (Bilder, Style-Bundles, Doku-Snippets) | In Migration |
Komponenten-Map
Hardware-Knoten und Plattform-Services
Der Stack läuft auf zwei Hardware-Knoten – einer QNAP-Storage- und Container-Plattform sowie einem Olares-K3s-Cluster für GPU-Last und Bridge-Pods. Zwischen beiden vermitteln Caddy als einheitlicher Reverse-Proxy und Cloudflare als Tunnel- und Auth-Layer.
QNAP TVS-874T (192.168.180.222)
Primärer Storage- und Container-Knoten. Beherbergt den Compose-Stack, den Reverse-Proxy und den Cloudflared-Connector.
- Container-Stack (Compose) – LATUS-Services produktiv
- Caddy-Reverse-Proxy – TLS-Terminierung intern
- MinIO – S3-kompatibler Object-Storage
- Cloudflared-Tunnel – Edge-Anbindung an CF-Zero-Trust
Olares K3s-Cluster (192.168.180.218)
GPU-Knoten für Sprachmodelle und Bridge-Pods. K3s-basiert, mit HAMI für GPU-Sharing zwischen mehreren Workloads.
- LiteLLM-Bridge – einheitlicher LLM-Routing-Endpunkt
- RAGFlow – Wissensbasis-Indexer und Citation-Server
- LobeChat – Chat-Oberfläche (Migration in Arbeit)
- vLLM-Aux – Sprachmodell-Inferenz
- GPU-Pin via HAMI – definiertes Speicher-Budget pro Workload
Caddy-2
Einheitlicher TLS-Layer für alle veröffentlichten Subdomains. ADR-023 schreibt diesen Pfad als Standard fest: Cloudflared-Tunnel → Caddy → Backend, ohne pro-Service-eigene Edge-Konfiguration.
Cloudflare
DNS, Zero-Trust-Tunnel, Access-Policies. Optionaler R2-Storage. Zentraler Edge-Layer für sämtliche User-Facing-Endpunkte gemäß ADR-009-Kategorie 1.
Casdoor
SSO-Provider, MS-Entra-Bridge. Erzwingt einheitlichen Login-Pfad für alle User-Facing-Services und ersetzt tool-eigene Login-Masken.
LATUS BRAIN
RAGFlow plus Postgres mit ParadeDB- und pgvector-Erweiterung als Wissensraum-Indexer. Belegbare Antworten mit Citation-Loop, lokale Inferenz ohne Cloud-Daten-Abfluss.
Datenflüsse
Die drei wichtigsten Pfade durch den Stack
Drei Datenfluss-Pfade decken über 90 Prozent der täglichen Nutzer-Interaktionen ab. Jeder Pfad ist hier als sequentielle Step-Folge dargestellt, wie sie sich aus Sicht der beteiligten Komponenten beobachten lässt.
Chat-Anfrage – Frage stellen, Antwort mit Belegen erhalten
Die Citation-Loop reichert die Antwort mit Beleg-Markern an, die auf die Original-Stelle im Dokumenten-Repository zeigen. Lokales Sprachmodell für vertrauliche Inhalte, OpenAI optional mit aktivem PII-Filter.
Upload-Workflow – Dokumente in den Stack einspeisen
Pre-Processing übernimmt Format-Konversion, Layout-Erkennung und Tagging. Anschließend übergibt der Pfad an die fachlich passende Pipeline – Geocoding-AI für Adress-Daten, Fiberproof-AI für FTTH-Bauakten.
Citation-Klick – Vom Beleg-Marker zur Original-Stelle
Der ragflow-proxy ersetzt die ursprünglich geplante LiteLLM-Callback-Lösung (siehe ADR-002). Bearer-Token wird pro Session vergeben, Zugriff auf Original-Dokumente bleibt auf berechtigte Mitarbeitende beschränkt.
Entscheidungs-Historie – Architecture-Decision-Records
Vollständige Entscheidungs-Historie · 30 ADRs
Jede strukturelle Architektur-Entscheidung wird als ADR unter docs/architecture/decisions/
abgelegt – mit Status, Kontext, Entscheidung und Konsequenzen. Hier die vollständige
Entscheidungs-Historie des LATUS AI Stack in chronologischer Reihenfolge.
ADR-001
Multi-Agent-Ops-Architektur
Betriebsmodell mit spezialisierten Rollen, Hiring-Manager-Pattern und wiederkehrenden Auto-Operations-Cycles.
ADR-002
Citation-Proxy statt LiteLLM-Callback
Belege/Citations laufen über einen dedizierten Proxy statt über LiteLLM-Callbacks – entkoppelt den Citation-Loop vom Routing.
ADR-003
Storage-Restrukturierung
Neuordnung der Storage-Topologie (Pools, generische Shares, Bind-Mounts) für klare Trennung und Backup-Fähigkeit.
ADR-004
LobeChat-Olares-Migration
Etappenweise Verlagerung der LobeChat- und BRAIN-Komponenten Richtung Olares-Cluster.
ADR-005
Olares-Markt-App-Pattern für Bridge-Pods
Bridge-Pods werden als Olares-Markt-Apps deployt – standardisiertes, reproduzierbares Deploy-Muster.
ADR-006
n8n-LLM via LiteLLM-HTTP-Pattern
n8n spricht Sprachmodelle ausschließlich über LiteLLM per HTTP an – keine direkten Modell-IDs.
ADR-007
n8n universelles Workflow-Template
Einheitliches Workflow-Template als Basis für wiederkehrende n8n-Automatisierungen.
ADR-008
Root-Cause-First Mutations-Disziplin
Vor jeder Produktions-Mutation Wurzel-Ursache und empirische Vor-Validierung statt Symptom-Patch.
ADR-009
Architektur-Boundary für Routing und Authentifizierung
Drei Kategorien (User-Facing, Internal-IT, Direct-Exposed) bestimmen Routing und Auth. Verhindert versehentliche Exposition interner Werkzeuge.
ADR-010
Image-Tag-Pinning-Disziplin
Container-Images per SHA256/Tag pinnen statt :latest – reproduzierbare, rollback-fähige Deploys.
ADR-011
Cloudflared Network-Layer
Cloudflared als definierte Netz- und Edge-Schicht für die Tunnel-Anbindung.
ADR-012
Outside-Observer-Pattern (Secondary WAN)
Externe Beobachtung des Stacks über einen zweiten WAN-Pfad – erkennt Ausfälle von außen statt nur intern.
ADR-013
Lokale-Inferenz-Modell-Migration
Wechsel des lokalen Inferenz-Modells (historisch Gemma 3 → Qwen 3; aktueller Stand Gemma 4 26B-A4B-AWQ auf vLLM).
ADR-014
MCP Tool-Use End-to-End-Setup
Durchgängiges Setup für MCP-Tool-Use (Excel/Word/Office) von der Chat-Anfrage bis zur Datei-Bereitstellung.
ADR-015
LobeChat-Image-Upgrade MCP-Pipeline
Definierter Image-Upgrade-Pfad für LobeChat inklusive MCP-Plugin-Pipeline.
ADR-016
Geodaten-Adress-Matching (Nominatim auf Olares)
Adress-Matching auf Nominatim-Basis im Olares-Cluster als Grundlage für Geocoding.
ADR-017
Geocoding-AI Backend-Stack
Backend-Architektur des Geocoding-AI-Dienstes (Adress-zu-Koordinaten, Verarbeitungs-Modi).
ADR-018
ParadeDB als separate Postgres-Instanz für LobeChat
Trennung der LobeChat-Postgres vom BRAIN-Postgres. ParadeDB-Erweiterung für Volltext und pgvector für Embeddings.
ADR-019
Memory-Cluster-Architektur für skill-zentrierten Lazy-Load
Cluster-Index statt Flat-File-Memory. Lazy-Load über 12 Themen-Cluster, Detail-Files in topics/.
ADR-020
Multi-Subagent-Dekompositions-Pattern
Reflexive Zerlegung komplexer Aufträge in mehrere parallel arbeitende Subagenten.
ADR-021
Cloudflared-Router: Multi-Connector statt Cutover
Tunnel-Migration über mehrere Connectoren parallel statt hartem Cutover – kein Downtime-Risiko.
ADR-022
QNAP-Container: Zwei Patterns (Compose-Stack vs. Single-App)
Verbindliche Trennung: orchestrierter Compose-Stack für Plattform-Services, Single-App-Container für isolierte Hilfswerkzeuge.
ADR-023
CF-Tunnel-Routing einheitlich via Caddy
Cloudflared-Tunnel → Caddy → Backend als einziger Pfad. Eliminiert pro-Service-eigene Edge-Konfigurationen.
ADR-024
LiteLLM Aux/Chat-Trennung wirkungslos – vLLM Continuous-Batching schützt
Schutz vor Last-Spitzen entsteht nicht durch LiteLLM-Pool-Trennung, sondern durch vLLM Continuous-Batching auf GPU-Ebene.
ADR-025
Personal-Brain-Naming-Konvention und Multi-User-Dataset-Mechanik
Hash-basierte Dataset-Namen für persönliche Wissens-Modelle. Identitäts-basierte Trennung pro Person.
ADR-026
Multi-Turn-Session-Kontext im ragflow-proxy
Messages-Array-Prefix-Pattern erhält den Dialogfaden auch über RAGFlow-Roundtrips hinweg.
ADR-027
LATUS-Doku-Style-Guide (HTML, Inline-CSS, Markdown)
Verbindliche Style-Regeln: Inline-CSS für HTML-Auftritte, Markdown-Standard für Handbuch, einheitliches Design-Token-Set.
ADR-028
Bundle-Build mit Pre-Baked-Secrets-Pattern
Olares-Bundle-Builds mit vorab eingebetteten Secrets als definiertes, wiederholbares Build-Muster.
ADR-029
Drift-Detection 5-Schichten live auf Olares-Node
Fünf-Schichten-Drift-Check (Config, Storage, Container, K3s, Service-Health) als geplanter Timer auf dem Olares-Knoten.
ADR-030
OpenRouter via LiteLLM-Whitelist-Aliase
OpenAI-Modelle laufen über OpenRouter, in LiteLLM als Whitelist-Aliase geführt – ein Provider/Key, tolerantes Routing.
Alle ADRs liegen mit vollständigem Kontext, Entscheidung und Konsequenzen im Repository unter
docs/architecture/decisions/.
Self-Healing-Patterns
Reaktive Selbstheilung im laufenden Betrieb
Bekannte Störungs-Muster werden ohne menschlichen Anstoß behoben. Die hier gelisteten fünf Mechanismen sind heute produktiv und liefern messbare Heilungs-Ergebnisse.
Self-Heal-Monitor
Läuft alle 10 Minuten gegen die Kern-Komponenten. Erkannte Anomalien lösen den passenden Heilungs-Pfad aus, gleichzeitig geht ein Pushover-Alert an den verantwortlichen Spezialisten.
BRAIN-Limbo-Doc-Auto-Recovery
Dokumente, die im Indexier-Limbo hängen bleiben, werden vom Recovery-Lauf autonom geheilt. Neun Dokumente seit Deploy ohne menschlichen Eingriff zurück in den Index gebracht.
Crash-Repeater-Detection
Wiederkehrende Crash-Muster werden erkannt und blockiert, bevor sie eine Loop bilden. Null Crash-Repeater seit Einführung von GraphRAG-Light.
OOM-Loop-Schutz
Die Worker-Anzahl ist auf workers=2 fixiert. Diese Begrenzung verhindert
den ursprünglich gemessenen OOM-Loop unter Last-Spitzen und liefert seitdem
stabilen Antwort-Pfad.
External-LLM-Probe
Synthetische Proben gegen api.openai.com, api.anthropic.com,
latus-rag und latus-ai. Unterscheidet Anbieter-Ausfall von
internem Problem – Voraussetzung für die richtige P0-Triage.
Abkürzungen
Begriffe und Kürzel im Überblick
Die wichtigsten technischen Kürzel dieses Atlas, kurz erklärt. Eine ausführliche Begriffs-Übersicht liefert das Glossar im Kompass.
- ADR
- Architecture Decision Record – dokumentierte Architektur-Entscheidung mit Kontext und Konsequenzen.
- CF
- Cloudflare – Edge-Layer für DNS, Zero-Trust-Tunnel und Access-Policies.
- SSO
- Single Sign-On – ein Login-Pfad für mehrere Dienste.
- IdP
- Identity Provider – Identitäts-Dienst, hier Casdoor gekoppelt an Microsoft Entra.
- MS Entra
- Microsoft Entra ID – Microsofts Cloud-Identitäts-Dienst (frühere Bezeichnung Azure AD).
- TLS
- Transport Layer Security – Verschlüsselung der Verbindung (HTTPS).
- CDN
- Content Delivery Network – verteiltes Auslieferungs-Netz für statische Inhalte.
- VPN / WireGuard
- Verschlüsselter Fernzugriff ins interne Netz; WireGuard ist die hier genutzte VPN-Technik.
- LAN / WAN
- Lokales Netz (LAN) bzw. Weitverkehrs-Netz/Internet-Anbindung (WAN).
- LLM
- Large Language Model – großes Sprachmodell als Antwort-Generator.
- vLLM
- Hochdurchsatz-Server für lokale Sprachmodell-Inferenz (Continuous-Batching auf GPU).
- RAG / RAGFlow
- Retrieval-Augmented Generation – Antworten mit Beleg-Suche in Dokumenten; RAGFlow ist die Engine.
- MCP
- Model Context Protocol – Standard zur Anbindung von Werkzeugen (z.B. Excel/Word) an den Chat.
- K3s
- Leichtgewichtige Kubernetes-Distribution für den Olares-Cluster.
- HAMI
- GPU-Sharing-Schicht für Kubernetes – teilt eine GPU mit Speicher-Budget zwischen Workloads.
- GPU
- Grafik-/Rechen-Beschleuniger, hier für KI-Inferenz.
- OOM
- Out of Memory – Speicher-Überlauf; ein Schutz verhindert OOM-Loops unter Last.
- ParadeDB / pgvector
- Postgres-Erweiterungen für Volltext-Suche (ParadeDB) bzw. Vektor-Embeddings (pgvector).
- LATUS BRAIN
- LATUS-Wissensraum (RAGFlow + Postgres) für belegbare Antworten aus Firmen-Dokumenten ohne Cloud-Abfluss.
Du möchtest den Atlas vertiefen, einen einzelnen ADR lesen oder den Stack als Lizenzierungs-Basis prüfen? Zum Kompass für Einstiegs-Übersicht, oder direkt an den zuständigen Ansprechpartner.