Naar inhoud gaan
supastack
Blader door de docs
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 /nl/docs/web/setup-domains.md (or send Accept: text/markdown).

Custom domeinen instellen

Laat workspaces de app op eigen hostnames serveren via Cloudflare for SaaS.

Setup en configuratie

Lees vóór elke stap Voordat u begint en Basisbeginselen van de terminal. Deze instructies gaan ervan uit dat je de volledige supastack monorepo in VS Code hebt geopend; zijn root package.json markeert de root van de repository. In pnpm-opdrachten is een werkruimtepakket een app of map met gedeelde code; in het product is een werkruimte de gegevenscontainer en de beveiligingsgrens van een team. corepack pnpm --filter ... selecteert één pakket uit de monorepo terwijl opdrachten vanuit de root worden uitgevoerd. Als u alleen een gesynchroniseerde mobiele map of desktopmap hebt geopend, bevat deze niet de webbackend, Docker-installatie of rootscripts: voer de backend uit vanaf deze monorepo of een bereikbare gehoste server en gebruik de eigen scripts van de platformmap. Een omgevingsvariabele is een benoemde instelling die is opgeslagen in een lokaal .env-bestand of op uw hostingdashboard; start de relevante app opnieuw nadat u deze hebt gewijzigd en houd servergeheimen buiten de NEXT_PUBLIC_- en EXPO_PUBLIC_-waarden.

1. Open apps/web/.env.local en gebruik CUSTOM_DOMAINS_PROVIDER=local om een voorbeeld van het scherm Domeinen te bekijken zonder DNS-wijzigingen.

2. Voor een echte klanthostnaam configureert u Cloudflare voor SaaS met uw eigen zone, een API-token beperkt tot die zone, en het CNAME-doel; voer de waarden voor alleen de server in op de webhost, niet in de browser.

3. Voer Web uit met corepack pnpm --filter @supastack/web dev en open Instellingen → Domeinen als eigenaar/beheerder van de werkruimte. Verwacht: de lokale adapter activeert onmiddellijk een testdomein; de Cloudflare-adapter wacht op de weergegeven DNS-records.

Stel CUSTOM_DOMAINS_PROVIDER=cloudflare in met CLOUDFLARE_API_TOKEN, CLOUDFLARE_ZONE_ID en CUSTOM_DOMAIN_CNAME_TARGET. Het API-token heeft SSL en Certificaten:Bewerkingsrechten nodig voor de zone (de aangepaste hostnamen API bevinden zich onder /zones/{zone_id}/custom_hostnames). Het CNAME-doel is een hostnaam in uw Cloudflare-zone (bijvoorbeeld customers.example.com) die wordt omgezet naar uw geïmplementeerde app.

Voeg een DNS-record toe in de zone die het CNAME-doel naar uw oorsprong verwijst (de fallback-oorsprong in Cloudflare voor SaaS-termen). Cloudflare geeft voor elke aangepaste hostnaam een ​​DCV TXT-record plus een optioneel eigendoms-TXT-record; het instellingenscherm laat klanten precies zien welke records ze moeten aanmaken.

Gebruik voor lokale ontwikkeling CUSTOM_DOMAINS_PROVIDER=local, waarmee elke hostnaam onmiddellijk actief wordt gemarkeerd bij doelklanten.localhost. CUSTOM_DOMAINS_PROVIDER=off (de standaardinstelling) verbergt de bedieningselementen van de sectie.

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

Commando's om te kopiëren

Volg de opmerkingen om te zien in welke map een opdracht wordt uitgevoerd. Als twee terminals zijn gelabeld, opent u twee terminalvensters en laat u de eerste opdracht draaien terwijl u de tweede gebruikt.

corepack pnpm --filter @supastack/web dev

Implementatieworkflow

Eigenaren en beheerders van werkruimten beheren domeinen onder Instellingen → Domeinen (vijf per werkruimte). Klanten wijzen een CNAME-record voor hun hostnaam naar het CNAME-doel, voegen de TXT-records toe die worden weergegeven voor eigendoms- en certificaatvalidatie en drukken vervolgens op Status vernieuwen. Zodra Cloudflare de hostnaam actief rapporteert, wordt het een vertrouwde bron voor authentificatie op die implementatie en wordt de werkruimtenaam/het logo van de app chroom op die hostnaam.

Apex-(hoofd)domeinen kunnen bij de meeste DNS-providers geen CNAME's zijn. Klanten moeten een subdomein gebruiken, zoals portal.example.com, of een provider met CNAME-afvlakking. Cookies blijven beperkt tot elke host, dus een klantdomein is een afzonderlijke aanmelding; Single sign-on op aangepaste domeinen valt buiten het bereik.

Verificatie en probleemoplossing

Als Cloudflare in behandeling blijft, vergelijk dan de CNAME- en TXT-records van de klant met de exacte waarden die op de domeinkaart worden weergegeven en geef DNS de tijd om te updaten. Gebruik een subdomein wanneer de DNS-provider een hoofddomein CNAME niet kan afvlakken. Als het menu ontbreekt, controleer dan of de functie is ingeschakeld en of de aangemelde gebruiker eigenaar of beheerder van de werkruimte is.

Als dit lange tijd in behandeling is, betekent dit meestal dat de CNAME van de klant ontbreekt of nog steeds wordt verspreid. Controleer opnieuw de DNS-records die op de domeinkaart worden weergegeven. Een verplaatste of mislukte status betekent dat Cloudflare de hostnaam niet langer kan omzetten in de zone; verwijder het en voeg het opnieuw toe. Validatiegegevens worden opgeslagen als provider JSON, dus toekomstige Cloudflare-validatievormen hoeven geen schemawijziging te ondergaan.

Wil je verdergaan met de configuratie? Lees Implementeren op Google Cloud.

Veelgestelde vragen

14 vragen

Wat is supastack?

supastack is een modulair fundament voor het bouwen van SaaS-producten met AI. Het brengt gemeenschappelijke infrastructuur samen zodat jij je kunt richten op productspecifieke functies.

Ondersteunt het web en mobiel?

Ja. supastack bevat Next.js- en Expo-apps als startpunten voor web- en mobiele ervaringen.

Welke authenticatie is inbegrepen?

Better Auth dekt e-mail/wachtwoord, OTP en sociale login. Persoonlijke workspaces worden bij het account geprovisioneerd zodat productrecords vanaf dag één afgebakend blijven.

Hoe ondersteunt het AI?

supastack bevat configureerbare multi-provider AI, usage-tracking, budgetten en versleutelde bring-your-own-key-ondersteuning.

Hoe worden abonnementen afgehandeld?

Voor producten op de kit vormen Stripe-billing, abonnementen en entitlements het fundament voor betaalde toegang. Providersecrets blijven server-only.

Waar leeft mijn productspecifieke code?

Productspecifieke functies blijven in een aparte codebase terwijl het product de fundamentmodules van supastack configureert en integreert.

Hoe werkt de prijs van supastack?

De kit is een eenmalige aankoop met lifetime updates: One Framework voor $249 (tijdelijke lanceringsprijs — $100 korting op de normale prijs van $349) of All Frameworks (Next.js, iOS, Android) voor $499 (tijdelijke lanceringsprijs — $100 korting op de normale prijs van $599), plus $75 per extra developer seat. Geen kit-abonnement. Checkout op deze site levert je licentiesleutel per e-mail, met repositorytoegang via een GitHub-uitnodiging.

Hoe bakens workspaces mijn data af?

Records van gebruikers worden afgebakend per workspaceId. Identiteit, entitlements, AI-gebruik, billing-events en auditentries blijven binnen de grens van de persoonlijke workspace.

Hoe werken achtergrondjobs?

Trigger.dev is de expliciete jobruntime. Het JobRunner-contract belooft alleen enqueue, status en cancel — workflowsemantiek blijft Trigger.dev-specifiek en expliciet.

Hoe verschilt e-mail van outreach?

Transactionele e-mail dekt productworkflows zoals voltooiingsnotices. Koude outreach en campagnes zijn productzaken buiten de e-mailmodule van deze kit.

Hoe werken mobiele aankopen?

Mobiel bevat native aankopen en herstel via RevenueCat, met toegang die je server verifieert. Configureer de winkelaccounts en rond apparaattests af vóór publicatie. Webfacturatie blijft afzonderlijk.

Waar leven de AI-providerkeys?

Bring-your-own-key-credentials zijn versleuteld en blijven server-only. Keys worden uit logs gefilterd; gebruik en budgetten blijven zichtbaar op workspaceniveau.

Welke betaalmethoden accepteert de checkout?

De door Stripe gehoste checkout accepteert kaarten en kan ook Alipay en WeChat Pay aanbieden zodra die wallets op het Stripe-account zijn geactiveerd — handig voor kopers in China. Wallet-autorisaties worden asynchroon bevestigd, dus de licentiepagina wordt bijgewerkt zodra de betaling is afgerond.

Kan ik een terugbetaling krijgen?

Zodra je toegang hebt gekregen tot de repository, is supastack voor altijd van jou en kan er dus geen terugbetaling plaatsvinden. Maar wees gerust: je krijgt de volledige broncode met levenslange updates om onbeperkt producten voor jezelf of je klanten te bouwen en te lanceren. Je mag de code alleen niet doorverkopen of de repository herdistribueren als starterkit of template.

NL
Thema