Variables d'environnement
Configurez Starter Pro en toute sécurité avec des variables d'environnement prêtes pour la production pour l'authentification, la facturation, l'accès à la base de données, la livraison de courriels et l'infrastructure de déploiement.
Vue d’ensembleLien vers la section
Starter Pro utilise des variables d'environnement pour séparer les problèmes d'infrastructure, d'authentification, de facturation, de livraison des e-mails et de déploiement en toute sécurité.
Ceci garde :
- secrets en dehors du dépôt
- Environnements prévisibles
- Déploiement portable
- infrastructure de facturation sécurisée
- Authentification Production-Safe
Principe de base
Les variables d'environnement définissent les limites de l'infrastructure entre votre base de code et les systèmes de production.
Esprit de productionLien vers la section
Starter Pro est conçu autour des exigences réelles de déploiement SaaS.
Cela signifie que les variables d'environnement devraient prendre en charge:
- développement local
- Mise en scène des déploiements
- infrastructure de production
- Stripe facturation
- Fournisseurs OAuth
- Authentification sécurisée
- isolation de la base de données
Sécurisé par défaut
Déploiement prêt
Séparation des infrastructures
Modèle mentalLien vers la section
Variables publiques
Public variables are exposed to the browser and should only contain safe frontend values.
Variables d'applicationLien vers la section
Ces variables définissent la structure de l'URL de l'application.
NEXT_PUBLIC_APP_URL=http://localhost:3000
APP_BASE_URL=http://localhost:3000NEXT_PUBLIC_APP_URL
- coffre-fort pour frontend
- utilisé côté client
- domaine de production
APP_BASE_URL
- Utilisation serveur uniquement
- auth redirige
- Références internes
Configuration de la base de donnéesLien vers la section
Starter Pro utilise PostgreSQL avec Prisma.
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/starter_proPratiques de production recommandées :
- Hébergement PostgreSQL géré
- sauvegardes automatisées
- séparation de mise en scène et de production
- connexion pooling
- Accès restreint à la base de données
Règle de production
Ne partagez jamais les informations d'identification de la base de données de production dans des environnements locaux ou des référentiels publics.
Variables d'authentificationLien vers la section
Starter Pro utilise Auth.js pour l'authentification.
AUTH_SECRET=
AUTH_GOOGLE_ID=
AUTH_GOOGLE_SECRET=
AUTH_GITHUB_ID=
AUTH_GITHUB_SECRET=
AUTH_TRUST_HOST=trueRequisLien vers la section
| Variable | Objet |
|---|---|
AUTH_SECRET | Signer des sessions et des tokens d'authentification |
Fournisseurs optionnelsLien vers la section
| Variable | Objet |
|---|---|
AUTH_GOOGLE_ID | ID client Google OAuth |
AUTH_GOOGLE_SECRET | Le secret du client Google OAuth |
AUTH_GITHUB_ID | ID client GitHub OAuth |
AUTH_GITHUB_SECRET | GitHub OAuth client secret |
NotesLien vers la section
AUTH_SECRETDoit être forte en production- Les fournisseurs OAuth sont facultatifs
- Email/mot de passe auth fonctionne sans OAuth
- Les domaines de production doivent correspondre à la configuration OAuth
Livraison par emailLien vers la section
Starter Pro prend en charge les flux d'e-mails transactionnels via Resend.
AUTH_RESEND_API_KEY=
AUTH_EMAIL_FROM="PyColors <noreply@your-domain.com>"Les flux de courrier électronique comprennent:
- e-mails de vérification
- mot de passe reset emails
- livraison auth transactionnelle
Flux de vérification
Flux de récupération
Variables de facturation StripeLien vers la section
Starter Pro inclut des fondations de facturation Stripe prêtes pour la production.
STRIPE_SECRET_KEY=
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
STRIPE_WEBHOOK_SECRET=
STRIPE_PRODUCT_PRO=
STRIPE_PRICE_PRO_MONTHLY=Variables de facturation de baseLien vers la section
| Variable | Objet |
|---|---|
STRIPE_SECRET_KEY | Accès Stripe côté serveur |
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY | Intégration Frontend Stripe |
STRIPE_WEBHOOK_SECRET | Validation Webhook |
STRIPE_PRODUCT_PRO | ID produit Stripe |
STRIPE_PRICE_PRO_MONTHLY | ID de prix Stripe |
Règles importantesLien vers la section
- Les modes test et live sont séparés
- les produits et les prix doivent correspondre au même mode Stripe
- La validation du webhook est requise
- Les webhooks de production doivent utiliser HTTPS
stripe listen --forward-to localhost:3000/api/webhooks/stripePrincipe de facturation
La fiabilité de la facturation dépend davantage de la configuration correcte de Stripe que de la mise en œuvre frontale.
Variables de données d’exempleLien vers la section
Starter Pro comprend des équipements de développement local.
SEED_AUTH_FIXTURES=true
SEED_DEV_USER=falseCes variables permettent :
- Auth Testing local
- abonnement testing
- Validation d'route protégée
- flux de produits sensibles à la facturation
Configuration de production recommandéeLien vers la section
Environnement local
- mode de Stripe de test
- base de données locale
- données d’exemple
Environnement de production
- Live Stripe Keys
- Base de données gérée
- Domaines HTTPS
Exemple de fichier d'environnementLien vers la section
# -----------------------------------------------------------------------------
# Database
# -----------------------------------------------------------------------------
DATABASE_URL=
# -----------------------------------------------------------------------------
# App
# -----------------------------------------------------------------------------
NEXT_PUBLIC_APP_URL=
APP_BASE_URL=
# -----------------------------------------------------------------------------
# Auth
# -----------------------------------------------------------------------------
AUTH_SECRET=
AUTH_GOOGLE_ID=
AUTH_GOOGLE_SECRET=
AUTH_GITHUB_ID=
AUTH_GITHUB_SECRET=
AUTH_TRUST_HOST=true
# -----------------------------------------------------------------------------
# Email
# -----------------------------------------------------------------------------
AUTH_RESEND_API_KEY=
AUTH_EMAIL_FROM=
# -----------------------------------------------------------------------------
# Stripe
# -----------------------------------------------------------------------------
STRIPE_SECRET_KEY=
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
STRIPE_WEBHOOK_SECRET=
STRIPE_PRODUCT_PRO=
STRIPE_PRICE_PRO_MONTHLY=— Erreurs courantes
Évitez ces erreurs de déploiement :
- exposer publiquement des variables secrètes
- mélange de Stripe test et live IDs
- oubli de la configuration du webhook
- commiting
.env.local - Utiliser des secrets d'auth faibles
- partage des informations d'identification de production
Règle de sécurité
Les variables d'environnement font partie de votre modèle de sécurité de l'infrastructure, et pas seulement de la configuration des applications.
Flux de travail recommandéLien vers la section
- Configurer des variables locales
- Valider les flux d'auth
- valider le mode de test Stripe
- valider la synchronisation webhook
- Configurer les secrets de production
- déployer la mise en scène
- valider la facturation de production
- lancement public
Modèle mentalLien vers la section
Les variables publiques alimentent le frontend.
Les variables serveur alimentent la couche métier.