Configuration
Configuration du site, plans tarifaires, variables d'environnement et checklist de personnalisation.
Vue d'ensemble
ScaleRocket centralise la configuration dans packages/config/ et les variables d'environnement. Cette page couvre toutes les options configurables.
site.ts
Situé dans packages/config/src/site.ts. C'est votre source unique de vérité pour les paramètres globaux du site.
export const siteConfig = {
name: "ScaleRocket", // App name everywhere
description: "Ship your SaaS in days", // Default meta description
urls: {
web: "https://scalerocket.dev", // Marketing site URL
app: "https://app.scalerocket.dev", // Dashboard URL
ops: "https://admin.scalerocket.dev", // Admin panel URL
},
keywords: ["saas", "boilerplate", "nextjs"], // SEO keywords
author: "Your Name", // Author name for meta tags
twitter: "@scalerocket", // Twitter handle
github: "https://github.com/scalerocket", // GitHub URL
supportEmail: "support@scalerocket.dev", // Support contact email
company: {
name: "ScaleRocket Inc.", // Legal entity name
address: "123 Main St, City, Country", // Company address
siret: "123 456 789 00001", // SIRET number (if applicable)
},
};Tous les champs sont importés dans les applications :
import { siteConfig } from "@saas/config";
<title>{siteConfig.name}</title>
<a href={siteConfig.github}>GitHub</a>pricing.ts
Situé dans packages/config/src/pricing.ts. Définit vos plans d'abonnement.
export const plans = [
{
id: "free",
name: "Free",
description: "Get started for free",
price: { monthly: 0, yearly: 0 },
stripePriceId: { monthly: null, yearly: null },
features: [
"10 credits/month",
"Basic features",
"Community support",
],
limits: {
credits: 10,
},
popular: false,
},
{
id: "starter",
name: "Starter",
description: "For individuals and small projects",
price: { monthly: 9, yearly: 90 },
stripePriceId: {
monthly: "price_starter_monthly_xxx", // Replace with your Stripe Price ID
yearly: "price_starter_yearly_xxx",
},
features: [
"100 credits/month",
"All features",
"Email support",
],
limits: {
credits: 100,
},
popular: false,
},
{
id: "pro",
name: "Pro",
description: "For growing businesses",
price: { monthly: 29, yearly: 290 },
stripePriceId: {
monthly: "price_pro_monthly_xxx",
yearly: "price_pro_yearly_xxx",
},
features: [
"1,000 credits/month",
"All features",
"Priority support",
"API access",
],
limits: {
credits: 1000,
},
popular: true, // Visually highlighted on pricing page
},
];Configurer les Stripe Price IDs
- Allez sur Stripe Dashboard > Products.
- Créez un produit pour chaque plan.
- Ajoutez des prix mensuels et annuels.
- Copiez les Price IDs (ex.
price_1Abc...) danspricing.ts.
Variables d'environnement
apps/web (Next.js Marketing)
# .env.local
NEXT_PUBLIC_APP_URL=https://app.scalerocket.devapps/app (Vite Dashboard)
# .env.local
VITE_SUPABASE_URL=https://xxx.supabase.co
VITE_SUPABASE_ANON_KEY=eyJ...
VITE_WEB_URL=https://scalerocket.devapps/ops (Vite Admin)
# .env.local
VITE_SUPABASE_URL=https://xxx.supabase.co
VITE_SUPABASE_ANON_KEY=eyJ...
VITE_SUPABASE_SERVICE_ROLE_KEY=eyJ... # Only in admin app!Supabase Edge Functions
# supabase/.env (local) or supabase secrets (production)
STRIPE_SECRET_KEY=sk_test_xxx
STRIPE_WEBHOOK_SECRET=whsec_xxx
RESEND_API_KEY=re_xxx
SITE_URL=https://scalerocket.dev
APP_URL=https://app.scalerocket.devPubliques vs Secrètes
| Variable | Publique | Utilisée dans |
|---|---|---|
SUPABASE_URL | Oui | Toutes les applications |
SUPABASE_ANON_KEY | Oui | Toutes les applications |
SUPABASE_SERVICE_ROLE_KEY | Non | Application admin, Edge Functions uniquement |
STRIPE_SECRET_KEY | Non | Edge Functions uniquement |
STRIPE_WEBHOOK_SECRET | Non | Edge Functions uniquement |
RESEND_API_KEY | Non | Edge Functions uniquement |
Checklist de personnalisation
Avant le lancement, mettez à jour ces éléments :
-
packages/config/src/site.ts-- Nom, URLs, description, liens sociaux -
packages/config/src/pricing.ts-- Plans, prix, Stripe Price IDs, fonctionnalités -
packages/ui/src/globals.css-- Couleurs de marque, border radius -
apps/web/public/-- Favicon, image OG, logo - Fichiers
.env.local-- Toutes les variables d'environnement par application - Secrets Supabase -- Clés API Stripe, Resend
- Supabase Auth -- Activer/désactiver les fournisseurs OAuth, personnaliser les templates d'e-mails
- Produits Stripe -- Créer les produits et prix, configurer l'endpoint webhook
- Resend -- Vérifier le domaine d'envoi, mettre à jour l'adresse d'expédition dans
packages/emails/src/send.ts - Liste blanche admin -- Mettre à jour
ADMIN_EMAILSdansapps/ops/src/lib/auth.ts - Pages légales -- Mettre à jour la politique de confidentialité et les conditions d'utilisation
Fini ? Marquez cette page comme terminée.