Stack
Komponenten der DARION-Plattform: Next.js 16, Supabase Self-Hosted, Postgres 17 mit CloudNativePG, K3s, ArgoCD, Hetzner und Cloudflare.
Stack
DARION-AI ist ein Self-Hosted-SaaS auf Open-Source-Basis. Die Anwendung läuft auf Hetzner-Servern in Deutschland. Jede weitere Komponente ist eine Open-Source-Bibliothek im Code.
Frontend
- Next.js 16 mit React Server Components und App Router.
- React 19 als UI-Bibliothek.
- Tailwind CSS 4 für das Styling-System.
- shadcn/ui als Komponenten-Layer auf Tailwind.
- next-intl für die Sprachfassungen. Angelegt sind Deutsch, Englisch, Spanisch, Italienisch und Niederländisch.
Backend
Es gibt keinen getrennten Anwendungsserver. Die Geschäftslogik läuft in Next.js selbst.
- Server Components und Server Actions für Lese- und Schreibpfade.
- Route Handler unter
/api/v1/...für den programmatischen Zugriff. - Zod prüft jede Eingabe, bevor sie in die Datenbank geht.
- pg-boss als Auftragswarteschlange, direkt in Postgres.
- Python-Dienste mit FastAPI für Sonderaufgaben wie die Dokumentenaufnahme. Diese Dienste sind noch nicht scharf geschaltet.
Datenbank-Änderungen laufen als SQL-Migrationen über die Supabase-CLI, nicht über ein ORM.
Datenbank und Speicher
- Supabase Self-Hosted als Postgres-Plattform mit Anmeldung, API und Dateiablage.
- Postgres 17 im Supabase-Abbild, betrieben von CloudNativePG mit drei Knoten.
- PgBouncer als Verbindungs-Pooler im Transaktionsmodus.
- Row-Level Security (RLS) für die Mandantentrennung. Details: Architektur.
- Longhorn-Volumes im Cluster als Ablage für Supabase Storage.
- pgvector für Vektor-Suche. Der Index wird noch nicht befüllt.
Cluster und Deployment
- K3s als leichtgewichtiges Kubernetes auf den Anwendungs-Servern.
- ArgoCD für GitOps-Deployments aus dem Repository.
- Cilium als CNI-Plugin für Netzwerk- und Sicherheitsregeln.
- Traefik als Ingress-Controller im Cluster.
- Longhorn für persistenten Speicher im Cluster.
- External Secrets Operator holt Zugangsdaten aus 1Password. Im Code steht kein Geheimnis.
Hosting und Edge
- Hetzner Cloud in den Rechenzentren FSN1 (Falkenstein) und NBG1 (Nürnberg).
- Cloudflare als Eintrittspunkt vor der Anwendung. Cloudflare arbeitet als Edge-WAF und speichert keine Anwendungsdaten.
- Supabase Auth als Anmeldedienst, ebenfalls self-hosted. Aktiv ist E-Mail plus Passwort.
- Mailcow als eigener Mailserver für Systemmails.
Ein zentraler Identity-Provider mit Keycloak ist vorbereitet, aber nicht in Betrieb. Die Anmeldung läuft ausschließlich über Supabase Auth.
Observability
- Metriken im Prometheus-Format, eingesammelt von VictoriaMetrics.
- GlitchTip als selbst betriebenes Fehler-Tracking für Frontend und Server.
- Status-Seite unter
status.darion-ai.de.
Was wir bewusst nicht nutzen
- Keine US-Hyperscaler (AWS, GCP, Azure) für Anwendungsdaten.
- Keine proprietäre SaaS-Plattform für Anmeldung, Datenbank oder Dateiablage.
- Kein fremder Mailversand-Dienst für Systemmails.
Verwandt
- Architektur: Mandantentrennung und Modul-Schalter.
- KI-Infrastruktur: Stand der KI-Komponenten.
- DSGVO: Rechenzentrum-Wahl und weitere Verarbeiter.