Environment Variables

Vollständige Referenz aller Umgebungsvariablen, geordnet nach Service mit Geltungsbereich, Standardwerten und Konfigurationshinweisen

Kit verwendet 100+ Umgebungsvariablen, konfiguriert in apps/boilerplate/.env.local. Diese Seite ist eine vollständige Referenz, geordnet nach Service. Anleitungen zur Einrichtung findest du unter Konfiguration. Für das Deployment siehe Production Checklist.

Namenskonvention

Next.js erzwingt eine strikte Namensregel für die Sichtbarkeit von Umgebungsvariablen:
  • NEXT_PUBLIC_-Präfix — Dem Browser zugänglich (client-seitig). Wird beim Build-Prozess in JavaScript eingebettet.
  • Kein Präfix — Nur serverseitig. Verfügbar in API-Routen, Middleware und Server-Komponenten. Wird nie an den Browser gesendet.
Tabellenspalten:
  • Name — Der Name der Umgebungsvariable
  • GeltungsbereichClient (browserzugänglich) oder Server (nur serverseitig)
  • Pflicht — Ob die App diese Variable benötigt
  • Standard — Wert, der verwendet wird, wenn nicht gesetzt (leer = kein Standard, muss konfiguriert werden)
  • Beschreibung — Was die Variable steuert

Core-Anwendung

NameGeltungsbereichPflichtStandardBeschreibung
NEXT_PUBLIC_APP_URLClientJahttp://localhost:3000Basis-URL der Anwendung für Links, Weiterleitungen und CORS
NODE_ENVServerAutoUmgebung: development, production, test
CRON_SECRETServerProdBearer-Token für die Authentifizierung von Vercel Cron-Jobs

Authentifizierung (Clerk)

NameGeltungsbereichPflichtStandardBeschreibung
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEYClientJaÖffentlicher Clerk-Schlüssel für Frontend-Auth-Komponenten
CLERK_SECRET_KEYServerJaGeheimer Clerk-Schlüssel für serverseitige Auth-Operationen
CLERK_WEBHOOK_SECRETServerJaSvix-Signaturverifizierung für Clerk-Webhooks
NEXT_PUBLIC_CLERK_SIGN_IN_URLClientNein/loginSign-In-Seiten-URL (Hash-Routing: /login#)
NEXT_PUBLIC_CLERK_SIGN_UP_URLClientNein/registerSign-Up-Seiten-URL (Hash-Routing: /register#)
NEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URLClientNein/dashboardWeiterleitungs-URL nach erfolgreicher Anmeldung
NEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URLClientNein/dashboardWeiterleitungs-URL nach erfolgreicher Registrierung
NEXT_PUBLIC_CLERK_ENABLEDClientNeintrueAuf false setzen, um Clerk zu deaktivieren (Test-/Demo-Umgebungen)
NEXT_PUBLIC_DEMO_MODEClientNeinfalseDemo-Modus aktivieren — umgeht die Authentifizierung vollständig

Datenbank (Supabase + Prisma)

NameGeltungsbereichPflichtStandardBeschreibung
DATABASE_URLServerJaPostgreSQL-Verbindungs-URL mit PgBouncer-Pooling
DIRECT_URLServerJaDirekte PostgreSQL-URL für Prisma-Migrationen (ohne Pooling)
NEXT_PUBLIC_SUPABASE_URLClientJaSupabase-Projekt-URL
NEXT_PUBLIC_SUPABASE_ANON_KEYClientJaSupabase-Anonymous-Key (client-seitig, RLS-geschützt)
SUPABASE_SERVICE_ROLE_KEYServerJaSupabase-Service-Role-Key (umgeht RLS)

Zahlungen (Lemon Squeezy)

Kernkonfiguration

NameGeltungsbereichPflichtStandardBeschreibung
LEMONSQUEEZY_API_KEYServerJaLemon Squeezy API-Key für Zahlungsoperationen
LEMONSQUEEZY_STORE_IDServerJaDeine Lemon Squeezy Store-ID
LEMONSQUEEZY_WEBHOOK_SECRETServerJaHMAC-Signaturverifizierung für Zahlungs-Webhooks
LEMONSQUEEZY_TEST_MODEServerNeinfalseTest-Modus für Zahlungstests aktivieren

Variant-IDs

Variant-IDs verknüpfen deine Lemon Squeezy-Produkte mit den Abonnement-Stufen der App. Die benötigten IDs hängen von deinem aktiven Preismodell ab.

Preismodell

NameGeltungsbereichPflichtStandardBeschreibung
NEXT_PUBLIC_PRICING_MODELClientJacredit_basedAktives Preismodell: credit_based oder classic_saas
CURRENCYServerNeinEURISO 4217-Währungscode
PRICING_TIERSServerNeinbasic,pro,enterpriseKomma-getrennte Liste verfügbarer Stufen
PRICING_FREE_TIER_ENABLEDServerNeintrueFree-Tier für beide Modelle aktivieren
PRICING_FREE_TIER_NAMEServerNeinFree ForeverAnzeigename für den Free-Tier

E-Mail (Resend)

NameGeltungsbereichPflichtStandardBeschreibung
RESEND_API_KEYServerJaResend API-Key zum Versenden von E-Mails
RESEND_FROM_EMAILServerJaAbsender-E-Mail-Adresse (z.B. noreply@yourdomain.com)
RESEND_WEBHOOK_SECRETServerJaHMAC-Signaturverifizierung für Zustellungs-Webhooks
NEXT_PUBLIC_CONTACT_EMAILClientJaÖffentliche Kontakt-E-Mail, die auf der Website angezeigt wird

Dateispeicherung (Vercel Blob)

NameGeltungsbereichPflichtStandardBeschreibung
BLOB_READ_WRITE_TOKENServerJaVercel Blob-Token für Datei-Upload und -Download

KI-Integration

Provider-Konfiguration

Für KI-Features ist mindestens ein API-Key eines KI-Providers erforderlich. Das System erkennt verfügbare Provider automatisch anhand der gesetzten Keys.
NameGeltungsbereichPflichtStandardBeschreibung
AI_PROVIDERServerNeinAuto-ErkennungSpezifischen Provider erzwingen: openai, anthropic, google, xai
AI_MODELServerNeinProvider-StandardStandard-Modell für den ausgewählten Provider überschreiben
OPENAI_API_KEYServerBedingtAPI-Key für OpenAI (GPT-Modelle)
ANTHROPIC_API_KEYServerBedingtAPI-Key für Anthropic (Claude-Modelle)
GOOGLE_AI_API_KEYServerBedingtAPI-Key für Google (Gemini-Modelle)
XAI_API_KEYServerBedingtAPI-Key für xAI (Grok-Modelle)
AI_API_KEYServerNeinUniverseller Fallback-Key — wird verwendet, wenn kein provider-spezifischer Key für den aktiven AI_PROVIDER gesetzt ist, und als Embedding-Key-Fallback
AI_EMBEDDING_MODELServerNeintext-embedding-3-smallEmbedding-Modell für RAG-Vektor-Generierung (muss OpenAI-kompatibel sein)

Provider-Overrides

NameGeltungsbereichPflichtStandardBeschreibung
OPENAI_BASE_URLServerNeinOpenAI-StandardBenutzerdefinierte Basis-URL (für Proxies oder Azure OpenAI)
OPENAI_ORG_IDServerNeinOpenAI-Organisations-ID
ANTHROPIC_BASE_URLServerNeinAnthropic-StandardBenutzerdefinierte Basis-URL für die Anthropic-API
GOOGLE_AI_BASE_URLServerNeinGoogle-StandardBenutzerdefinierte Basis-URL für die Google-AI-API
XAI_BASE_URLServerNeinhttps://api.x.ai/v1Benutzerdefinierte Basis-URL für die xAI-API

KI-Rate-Limiting

NameGeltungsbereichPflichtStandardBeschreibung
AI_FREE_TIER_REQUESTSServerNein20Monatliches Anfragelimit für Free-Tier
AI_PRO_TIER_REQUESTSServerNein1000Monatliches Anfragelimit für Pro-Stufe
AI_ENTERPRISE_TIER_REQUESTSServerNein10000Monatliches Anfragelimit für Enterprise-Stufe
AI_RATE_LIMIT_WINDOWServerNein10Burst-Rate-Limit-Fenster in Sekunden
AI_RATE_LIMIT_MAX_REQUESTSServerNein10Max. Anfragen pro Burst-Fenster
AI_ANONYMOUS_MONTHLY_LIMITServerNein5Max. Anfragen pro Monat für anonyme/nicht authentifizierte Nutzer

KI-Feature-Flags

NameGeltungsbereichPflichtStandardBeschreibung
AI_STREAMING_ENABLEDServerNeintrueStreaming-KI-Antworten aktivieren
AI_FUNCTIONS_ENABLEDServerNeintrueFunction-Calling aktivieren
AI_VISION_ENABLEDServerNeintrueVision/Bildanalyse aktivieren

KI-Chat-Feature-Flags

NameGeltungsbereichPflichtStandardBeschreibung
NEXT_PUBLIC_AI_LLM_CHAT_ENABLEDClientNeintrueLLM-Chat unter /dashboard/chat-llm aktivieren
NEXT_PUBLIC_AI_RAG_CHAT_ENABLEDClientNeintrueRAG-Chat unter /dashboard/chat-rag aktivieren
NEXT_PUBLIC_AI_VISION_ENABLEDClientNeintrueBildanalyse im LLM-Chat aktivieren (Drag & Drop, Einfügen, Datei-Picker)
NEXT_PUBLIC_AI_PDF_CHAT_ENABLEDClientNeintruePDF-Dokumentanalyse im LLM-Chat aktivieren (Drag & Drop, Datei-Picker)
NEXT_PUBLIC_AI_AUDIO_INPUT_ENABLEDClientNeinfalseAudio-Eingabe (Sprache-zu-Text) im LLM-Chat aktivieren
NEXT_PUBLIC_AI_IMAGE_GEN_ENABLEDClientNeintrueBildgenerierung unter /dashboard/image-gen aktivieren (eigenständig — erfordert keinen LLM-Chat)
NEXT_PUBLIC_AI_CONTENT_GEN_ENABLEDClientNeintrueContent-Generator unter /dashboard/content aktivieren (eigenständig — erfordert keinen LLM-Chat)

Caching (Upstash Redis)

NameGeltungsbereichPflichtStandardBeschreibung
UPSTASH_REDIS_REST_URLServerProdUpstash Redis REST-API-URL
UPSTASH_REDIS_REST_TOKENServerProdUpstash Redis-Authentifizierungstoken
Redis ist in der Produktion für API-Rate-Limiting und KI-Rate-Limiting erforderlich. In der Entwicklung wird Rate-Limiting automatisch deaktiviert, wenn Redis nicht konfiguriert ist.

Sicherheit & CORS

NameGeltungsbereichPflichtStandardBeschreibung
ALLOWED_ORIGINSServerNeinhttp://localhost:3000Komma-getrennte erlaubte Origins für CORS
CSP_REPORT_URIServerNeinEndpunkt für Content-Security-Policy-Verletzungsberichte

Styling

NameGeltungsbereichPflichtStandardBeschreibung
COLOR_THEMEServerNeindefaultAktives Farbthema: default, ocean, forest, sunset, midnight, coral, slate, aurora, crimson
NEXT_PUBLIC_BREADCRUMB_ENABLEDClientNeintrueBreadcrumb-Navigationsleiste unterhalb der Top-Bar im Dashboard anzeigen
Themenvorschauen und Anpassungsoptionen findest du unter Farbthemen.

Feature-Flags

NameGeltungsbereichPflichtStandardBeschreibung
ENABLE_CREDIT_SYSTEM_IN_TESTSServerNeinfalseCredit-System in Unit-Tests aktivieren (nur Vitest)

Entwicklerwerkzeuge

NameGeltungsbereichPflichtStandardBeschreibung
NEXT_PUBLIC_DEVTOOLS_ENABLEDClientNeintrueTanStack Query DevTools-Symbol anzeigen (unten rechts). Auf false setzen, um es in der Entwicklung auszublenden.