Jetzt mit KI-gestütztem Page Building über den MCP-Server

Umgebungsvariablen

Drei erforderliche Werte, ein paar optionale und die Variablen, die dir gehören statt dem CMS.

Eine cmssy-App liest zwei Arten von Werten: was der Workspace vorgibt und was deine App selbst entscheidet. Diese Seite dreht sich nur darum, beides auseinanderzuhalten.

Erforderlich

Kopiere sie aus Settings → Headless im Dashboard, oder lass sie npx @cmssy/cli link in .env.local schreiben.

VariableWas sie ist
CMSSY_ORG_SLUGDer Slug deiner Organisation. Er steht im Delivery-Pfad - deshalb muss ein Workspace-Slug nur innerhalb seiner Organisation eindeutig sein.
CMSSY_WORKSPACE_SLUGDer Workspace, dessen Inhalte diese App rendert.
CMSSY_DRAFT_SECRETSchützt Entwurfsvorschau und Edit-Modus. Pro Workspace generiert - kein selbst ausgedachter String.

Gib sie roh an defineCmssyConfig. Ein ?? ""-Fallback macht aus einer fehlenden Variable eine leere, und der Fehler taucht später an ganz anderer Stelle auf.

Optional, und wann du sie brauchst

VariableWann
CMSSY_API_TOKENEin cs_-Token. Nötig für das Dev-Draft-Overlay ?cmssyDev=1 und von cmssy link gelesen. Nur für die Entwicklung - gesetzt zu lassen ändert nichts an dem, was Besucher sehen.
CMSSY_API_URLÜberschreibt den Delivery-Endpunkt. Standard ist https://api.cmssy.io; nur beim Self-Hosting oder für ein Staging-Backend setzen.
CMSSY_EDITOR_ORIGINDer Admin-Origin, der deine Site framen darf. Standard ist die cmssy-Cloud; nur setzen, wenn du den Admin selbst hostest - er steuert die postMessage-Bridge und die CSP frame-ancestors.

Deine, nicht die des CMS

Das sind keine cmssy-Einstellungen. cmssy speichert kanonische Inhalte, niemals deine Domain, deine Analytics-IDs oder deine Route-Secrets.

VariableWas sie ist
CMSSY_REVALIDATE_SECRETSchützt deine eigene /api/revalidate-Route. Du erfindest den Wert und gibst denselben dem content.changed-Webhook - siehe Webhooks.
NEXT_PUBLIC_SITE_URLDein öffentlicher Origin. Canonical-URLs, hreflang-Alternativen und die Sitemap entstehen daraus.
NEXT_PUBLIC_GA_ID, NEXT_PUBLIC_GTM_IDAnalytics und Tag Manager. Rendere sie nur, wenn gesetzt, damit Preview-Deployments und lokale Läufe nicht in deinen Zahlen landen - siehe Skripte.

Server-only heißt server-only

Jede CMSSY_*-Variable oben ist serverseitig. Next liefert nur NEXT_PUBLIC_* an den Browser - eine Client-Komponente, die die Config liest, bekommt also keinen falschen Wert, sondern gar keinen.

Das ist der Fehler, dem man begegnet: defineCmssyConfig beschwert sich über fehlende Variablen, obwohl sie korrekt gesetzt sind. Ursache ist ein Import, nicht die Umgebung - eine "use client"-Komponente hat einen Wert aus einem Modul gezogen, das die Config liest. Typen sind unkritisch, sie werden gelöscht. Werte ziehen process.env ins Bundle.

Halte Secrets aus der Versionskontrolle heraus und setze dieselben Variablen in deinem Hosting (Vercel-Projekteinstellungen oder Äquivalent).

Nächste Schritte

  • Installation - wo sie zuerst gebraucht werden.
  • Entwurfsvorschau - was Draft-Secret und API-Token tatsächlich freischalten.
  • CLI - cmssy link schreibt die drei erforderlichen und prüft sie.
Umgebungsvariablen — alle Werte, die eine cmssy-App liest