Zum Inhalt springen
supastack
Dokumentation durchstöbern
WebNext.js

For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /de/docs/web/setup-domains.md (or send Accept: text/markdown).

Custom Domains einrichten

Lass Workspaces die App auf eigenen Hostnamen ausliefern — via Cloudflare for SaaS.

Einrichtung und Konfiguration

Lesen Sie vor jedem Schritt Bevor Sie beginnen und Terminal-Grundlagen. Bei diesen Anweisungen wird davon ausgegangen, dass Sie das vollständige Supastack-Monorepo in VS Code geöffnet haben. Sein Stamm package.json markiert den Repository-Stamm. In pnpm-Befehlen ist ein Arbeitsbereichspaket eine App oder ein Ordner mit gemeinsam genutztem Code. Im Produkt ist ein Arbeitsbereich der Datencontainer und die Sicherheitsgrenze eines Teams. corepack pnpm --filter ... wählt ein Paket aus dem Monorepo aus, während Befehle von seinem Stammverzeichnis aus ausgeführt werden. Wenn Sie nur einen synchronisierten Mobil- oder Desktop-Ordner geöffnet haben, enthält dieser weder das Web-Backend, Docker-Setup noch Root-Skripte: Führen Sie das Backend von diesem Monorepo oder einem erreichbaren gehosteten Server aus und verwenden Sie die eigenen Skripte des Plattformordners. Eine Umgebungsvariable ist eine benannte Einstellung, die in einer lokalen .env-Datei oder Ihrem Hosting-Dashboard gespeichert ist; Starten Sie die entsprechende App neu, nachdem Sie sie geändert haben, und halten Sie Servergeheimnisse von den Werten NEXT_PUBLIC_ und EXPO_PUBLIC_ fern.

1. Öffnen Sie apps/web/.env.local und verwenden Sie CUSTOM_DOMAINS_PROVIDER=local, um eine Vorschau des Domänenbildschirms ohne DNS-Änderungen anzuzeigen.

2. Konfigurieren Sie für einen echten Kunden-Hostnamen Cloudflare für SaaS mit Ihrer eigenen Zone, einem auf diese Zone beschränkten API-Token und dem CNAME-Ziel. Geben Sie die Nur-Server-Werte auf dem Webhost ein, nicht im Browser.

3. Führen Sie Web mit corepack pnpm --filter @supastack/web dev aus und öffnen Sie Einstellungen → Domänen als Arbeitsbereichsbesitzer/-administrator. Erwartet: Der lokale Adapter aktiviert sofort eine Testdomäne; Der Cloudflare-Adapter wartet auf die angezeigten DNS-Datensätze.

Setzen Sie CUSTOM_DOMAINS_PROVIDER=cloudflare und konfigurieren Sie CLOUDFLARE_API_TOKEN, CLOUDFLARE_ZONE_ID sowie CUSTOM_DOMAIN_CNAME_TARGET. Das API-Token benötigt für die Zone die Berechtigung SSL and Certificates:Edit (die Custom Hostnames API liegt unter /zones/{zone_id}/custom_hostnames). Das CNAME-Ziel ist ein Hostname in Ihrer Cloudflare-Zone — zum Beispiel customers.example.com — der auf Ihre bereitgestellte App verweist.

Legen Sie in der Zone einen DNS-Eintrag an, der das CNAME-Ziel auf Ihren Ursprung verweist (den Fallback-Ursprung in der Cloudflare-for-SaaS-Terminologie). Cloudflare stellt für jeden benutzerdefinierten Hostnamen einen DCV-TXT-Eintrag und optional einen TXT-Eintrag zur Eigentumsprüfung bereit. Die Einstellungen zeigen Kunden genau, welche Einträge anzulegen sind.

Verwenden Sie für die lokale Entwicklung CUSTOM_DOMAINS_PROVIDER=local; damit wird jeder Hostname sofort mit dem Ziel customers.localhost aktiviert. CUSTOM_DOMAINS_PROVIDER=off (Standard) blendet die Steuerelemente des Abschnitts aus.

CUSTOM_DOMAINS_PROVIDER=cloudflare
CLOUDFLARE_API_TOKEN=cf_token_with_ssl_edit
CLOUDFLARE_ZONE_ID=zone_id
CUSTOM_DOMAIN_CNAME_TARGET=customers.example.com

Befehle zum Kopieren

Befolgen Sie die Kommentare, um zu sehen, in welchem Ordner ein Befehl ausgeführt wird. Wenn zwei Terminals gekennzeichnet sind, öffnen Sie zwei Terminalfenster und lassen Sie den ersten Befehl laufen, während Sie den zweiten verwenden.

corepack pnpm --filter @supastack/web dev

Implementierungsablauf

Workspace-Owner und Admins verwalten Domains unter Einstellungen → Domains (höchstens fünf pro Workspace). Kunden richten für ihren Hostnamen einen CNAME-Eintrag auf das CNAME-Ziel ein, ergänzen die angezeigten TXT-Einträge zur Eigentums- und Zertifikatsprüfung und wählen dann Status aktualisieren. Sobald Cloudflare den Hostnamen als aktiv meldet, wird er für Authentifizierung in dieser Bereitstellung als vertrauenswürdiger Ursprung verwendet; Workspace-Name und Logo branden dann die App-Oberfläche auf diesem Hostnamen.

Apex-Domains (Stammdomains) lassen sich bei den meisten DNS-Anbietern nicht als CNAME einrichten. Kunden sollten eine Subdomain wie portal.example.com oder einen Anbieter mit CNAME-Flattening verwenden. Cookies bleiben auf den jeweiligen Host beschränkt; eine Kundendomain erfordert daher eine separate Anmeldung. Single Sign-on über benutzerdefinierte Domains hinweg ist nicht enthalten.

Überprüfung und Fehlerbehebung

Bleibt Cloudflare im Status pending, vergleichen Sie die CNAME- und TXT-Einträge des Kunden mit den genauen Werten auf der Domain-Karte und warten Sie die DNS-Aktualisierung ab. Verwenden Sie eine Subdomain, wenn der DNS-Anbieter einen CNAME für die Stammdomain nicht abbilden kann. Fehlt das Menü, prüfen Sie die Aktivierung und ob der angemeldete Nutzer Workspace-Eigentümer oder -Administrator ist.

Ein lange ausstehender Status bedeutet meist, dass der CNAME des Kunden fehlt oder noch propagiert wird — prüfen Sie die auf der Domainkarte angezeigten DNS-Einträge erneut. Ein verschobener oder fehlgeschlagener Status bedeutet, dass Cloudflare den Hostnamen der Zone nicht mehr zuordnen kann; entfernen Sie ihn und fügen Sie ihn erneut hinzu. Validierungsdaten werden als Provider-JSON gespeichert, sodass sich künftige Cloudflare-Validierungsformate ohne Schemaänderung abbilden lassen.

Wenn du die Einrichtung fortsetzen möchtest, lies Auf Google Cloud bereitstellen.

Häufige Fragen

14 Fragen

Was ist supastack?

supastack ist eine modulare Basis zum Bauen von KI-gestützten SaaS-Produkten. Sie bündelt die gemeinsame Infrastruktur, damit du dich auf die Funktionen konzentrieren kannst, die dein Produkt ausmachen.

Unterstützt es Web und Mobil?

Ja. supastack enthält Next.js- und Expo-Apps als Ausgangspunkt für Web- und Mobile-Erlebnisse.

Welche Authentifizierung ist enthalten?

Better Auth deckt E-Mail/Passwort, OTP und Social Login ab. Persönliche Workspaces werden mit dem Konto provisioniert, damit Datensätze vom ersten Tag an begrenzt sind.

Wie wird KI unterstützt?

supastack enthält konfigurierbare Multi-Anbieter-KI, Nutzungsverfolgung, Budgets und verschlüsselte Bring-your-own-key-Unterstützung.

Wie werden Abonnements gehandhabt?

Für Produkte, die auf dem Kit aufbauen, bilden Stripe-Abrechnung, Abonnements und Berechtigungen die Basis für bezahlten Zugang. Anbieter-Geheimnisse bleiben serverseitig.

Wo liegt mein produktspezifischer Code?

Produktspezifische Funktionen bleiben in einem separaten Codebase, während das Produkt die Basismodule von supastack konfiguriert und integriert.

Wie funktioniert die Preisgestaltung von supastack?

Das Kit ist ein Einmalkauf mit lebenslangen Updates: Ein Framework für 249 $ (befristeter Einführungspreis — 100 $ Rabatt auf den regulären Preis von 349 $) oder Alle Frameworks (Next.js, iOS, Android) für 499 $ (befristeter Einführungspreis — 100 $ Rabatt auf den regulären Preis von 599 $), plus 75 $ pro zusätzlichem Entwickler-Sitz. Kein Kit-Abo. Checkout auf dieser Website liefert deinen Lizenzschlüssel per E-Mail, mit Repo-Zugang per GitHub-Einladung.

Wie begrenzen Workspaces meine Daten?

Nutzerdatensätze sind über workspaceId begrenzt. Identität, Berechtigungen, KI-Nutzung, Abrechnungsereignisse und Audit-Einträge bleiben innerhalb der persönlichen Workspace-Grenze.

Wie funktionieren Hintergrundjobs?

Trigger.dev ist die explizite Job-Laufzeit. Der JobRunner-Vertrag verspricht nur enqueue, status und cancel — Workflow-Semantik bleibt Trigger.dev-spezifisch und explizit.

Wie unterscheidet sich E-Mail von Outreach?

Transaktions-E-Mail deckt Produktabläufe wie Task-Abschluss-Hinweise ab. Cold Outreach und Kampagnen gehören zum Produkt selbst, außerhalb des E-Mail-Moduls dieses Kits.

Wie funktionieren mobile Käufe?

Mobile bietet native Käufe und Wiederherstellung über RevenueCat; dein Server prüft den Zugriff. Konfiguriere die Store-Konten und schließe Gerätetests vor der Veröffentlichung ab. Web-Abrechnung bleibt separat.

Wo liegen die KI-Anbieter-Schlüssel?

BYOK-Zugangsdaten sind verschlüsselt und bleiben serverseitig. Schlüssel werden in Logs bereinigt; Nutzung und Budgets bleiben auf Workspace-Ebene sichtbar.

Welche Zahlungsmethoden akzeptiert der Checkout?

Der von Stripe gehostete Checkout akzeptiert Karten und kann — sobald die Wallets im Stripe-Konto aktiviert sind — auch Alipay und WeChat Pay anbieten, praktisch für Käufer in China. Wallet-Autorisierungen werden asynchron bestätigt, sodass sich die Lizenzseite aktualisiert, sobald die Zahlung eingegangen ist.

Kann ich eine Rückerstattung erhalten?

Sobald du Zugriff auf das Repository hast, gehört supastack für immer dir und kann daher nicht zurückerstattet werden. Aber keine Sorge: Du erhältst den vollständigen Quellcode mit lebenslangen Updates, um unbegrenzt viele Produkte für dich oder deine Kunden zu erstellen und zu veröffentlichen. Du darfst den Code lediglich nicht weiterverkaufen oder das Repository als Starter-Kit oder Vorlage weitergeben.

DE
Design