Configuration
Deux choses à configurer : les secrets des services que vous utilisez et les détails de votre marque. Cette page est la référence complète pour les deux.
Où vit la configuration
Les secrets locaux se trouvent dans apps/api/.dev.vars (ignoré par git). Le scaffolder le crée à partir de .dev.vars.example, qui liste chaque variable utilisable par les modules choisis, si bien que vous ne voyez que les variables qui concernent votre application. Les détails de marque vivent à part, dans packages/ui/src/config.ts.
Remarque
RESEND_API_KEY, le module e-mail journalise et n'envoie rien ; sans clés Stripe, les endpoints de paiement restent inactifs. Vous pouvez construire et explorer avant de brancher le moindre service externe.Variables principales
Elles existent dans toute application Kavel, quels que soient les modules choisis.
- `ENVIRONMENT` Le mode d'exécution,
developmentouproduction. En local il vautdevelopment; les workers déployés le mettent àproduction, ce qui désactive la référence d'API interactive/rpc/docs. - `WEB_URL` L'URL publique de l'application web,
http://localhost:3000en développement. Utilisée pour le CORS et pour construire les liens dans les e-mails et les callbacks d'authentification. - `API_URL` L'URL publique du Worker API,
http://localhost:8787en développement. L'application web la lit pour joindre le backend.
Variables des modules
Chaque module n'ajoute que ses propres variables à .dev.vars.example. Renseignez celles des modules que vous avez activés.
Auth
- `BETTER_AUTH_SECRET` Requis. Signe les sessions et les tokens. Générez-en un avec
openssl rand -base64 32. - `GITHUB_CLIENT_ID` et `GITHUB_CLIENT_SECRET` Optionnels. Activent la connexion sociale GitHub, créés dans les réglages de votre application OAuth GitHub.
- `GOOGLE_CLIENT_ID` et `GOOGLE_CLIENT_SECRET` Optionnels. Activent la connexion sociale Google, depuis la console Google Cloud.
Laissez les paires OAuth vides pour garder ces fournisseurs désactivés. La connexion par e-mail et mot de passe fonctionne sans aucune d'elles.
- `RESEND_API_KEY` Requis pour l'envoi. Votre clé d'API Resend. Sans elle, le module journalise l'e-mail et n'assure pas la livraison.
- `EMAIL_FROM` L'adresse d'expéditeur, par exemple
My App <noreply@myapp.com>. Le domaine doit être vérifié dans Resend. - `CONTACT_TO` L'adresse où sont livrées les soumissions du formulaire de contact.
Paiements
- `STRIPE_SECRET_KEY` Requis. Votre clé secrète Stripe, depuis le tableau de bord Stripe.
- `STRIPE_WEBHOOK_SECRET` Requis. Vérifie les webhooks Stripe entrants, affiché lorsque vous enregistrez votre endpoint de webhook.
- `STRIPE_PRICE_ID` Le prix facturé par le paiement.
Local vs production
.dev.vars sert uniquement au développement local et n'est jamais committé. En production, les mêmes noms se répartissent en deux catégories :
- Secrets, les valeurs sensibles (clés d'API,
BETTER_AUTH_SECRET, clés Stripe), se définissent avecwrangler secret put NAMEou dans le tableau de bord Cloudflare. Ils ne touchent jamais le dépôt. - Variables simples, les non sensibles (
ENVIRONMENT,WEB_URL), vivent danswrangler.jsoncsousvars.
Avertissement
.dev.vars sert uniquement au développement local. En production, définissez les secrets sur le Worker avec wrangler secret put NAME, ne les committez jamais. Voir Déploiement.Configuration de la marque
Votre nom, votre slogan, vos coordonnées et vos liens sociaux vivent dans un seul objet typé, dans packages/ui/src/config.ts. Les pages marketing, le pied de page et les modèles d'e-mail le lisent : mettre à jour votre marque tient en une seule modification :
Régénérer les types
Après avoir modifié les bindings du Worker dans wrangler.jsonc, régénérez les types Cloudflare pour que l'API reste typée :