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