ScaleRocket/Web

Supabase en production

Configuration du projet de production, migrations, déploiement des Edge Functions, secrets et monitoring.

Vue d'ensemble

Passer du Supabase local à un projet de production. Ce guide couvre la création du projet, l'application des migrations, le déploiement des Edge Functions et la configuration des secrets.

Configuration du projet de production

1. Créer un projet Supabase

  1. Allez sur supabase.com/dashboard.
  2. Cliquez sur New Project.
  3. Choisissez votre organisation, le nom, le mot de passe de la base de données et la région.
  4. Attendez que le projet soit provisionné.

2. Lier votre projet local

pnpm supabase login
pnpm supabase link --project-ref <your-project-ref>

La référence du projet se trouve dans l'URL de votre dashboard Supabase : https://supabase.com/dashboard/project/<project-ref>.

3. Obtenir vos identifiants

Depuis le dashboard Supabase sous Settings > API :

  • Project URL : https://xxx.supabase.co
  • Anon key : eyJ... (sûre côté client)
  • Service role key : eyJ... (côté serveur uniquement)

Migrations

Appliquer toutes les migrations en production

pnpm supabase db push

Cela exécute tous les fichiers de migration de supabase/migrations/ dans l'ordre sur votre base de données de production.

Vérifier le statut des migrations

pnpm supabase migration list

Affiche quelles migrations ont été appliquées et lesquelles sont en attente.

Créer une nouvelle migration

pnpm supabase migration new my_change_name

Modifiez le fichier SQL généré, testez localement, puis poussez en production.

Récupérer les changements distants

Si vous avez fait des changements directement dans le dashboard Supabase (non recommandé pour la production) :

pnpm supabase db pull

Cela génère un fichier de migration capturant les différences.

Déploiement des Edge Functions

Déployer toutes les fonctions

pnpm supabase functions deploy

Déployer une fonction spécifique

pnpm supabase functions deploy stripe-checkout
pnpm supabase functions deploy stripe-webhook
pnpm supabase functions deploy stripe-portal

Vérifier le déploiement

pnpm supabase functions list

Vérifiez que toutes les fonctions affichent le statut ACTIVE.

URLs des fonctions

Vos Edge Functions sont disponibles à :

https://<project-ref>.supabase.co/functions/v1/<function-name>

Utilisez cette URL pour :

  • La configuration de l'endpoint webhook Stripe
  • Les appels supabase.functions.invoke() côté client (gérés automatiquement par le SDK)

Configuration des secrets

Définissez tous les secrets requis pour les Edge Functions :

# Stripe
pnpm supabase secrets set STRIPE_SECRET_KEY=sk_live_xxx
pnpm supabase secrets set STRIPE_WEBHOOK_SECRET=whsec_xxx

# Resend
pnpm supabase secrets set RESEND_API_KEY=re_xxx

# URLs
pnpm supabase secrets set SITE_URL=https://yourdomain.com
pnpm supabase secrets set APP_URL=https://app.yourdomain.com

Vérifiez que les secrets sont définis :

pnpm supabase secrets list

Note : SUPABASE_URL, SUPABASE_ANON_KEY et SUPABASE_SERVICE_ROLE_KEY sont automatiquement disponibles dans les Edge Functions -- ne les définissez pas manuellement.

Configuration de l'authentification

Configurer les fournisseurs OAuth

  1. Allez dans Authentication > Providers dans le dashboard Supabase.
  2. Activez Google, GitHub ou d'autres fournisseurs.
  3. Ajoutez le client ID et le secret de chaque fournisseur.
  4. Définissez l'URL de redirection sur : https://xxx.supabase.co/auth/v1/callback

Configurer les templates d'e-mails

  1. Allez dans Authentication > Email Templates.
  2. Personnalisez les e-mails de confirmation, d'invitation et de réinitialisation de mot de passe.
  3. Mettez à jour les URLs de redirection pour pointer vers votre domaine de production.

Définir les URLs de redirection

Sous Authentication > URL Configuration :

  • Site URL : https://app.yourdomain.com
  • Redirect URLs : Ajoutez toutes les URLs de redirection autorisées :
    https://app.yourdomain.com/auth/callback
    https://app.yourdomain.com/auth/reset-password

Monitoring

Base de données

  • Dashboard > Database : Consultez la taille des tables, les connexions actives, les performances des requêtes.
  • Dashboard > Logs : Logs des requêtes SQL, logs d'authentification, logs des Edge Functions.

Edge Functions

  • Dashboard > Edge Functions : Consultez le nombre d'invocations, les taux d'erreur et les logs par fonction.
  • Cliquez sur une fonction pour voir les invocations récentes avec les détails requête/réponse.

Alertes

Activez les alertes dans Settings > Notifications pour :

  • Base de données approchant la limite de stockage
  • Taux d'erreur élevé sur les Edge Functions
  • Rate limiting d'authentification déclenché

Checklist de production

  • Migrations appliquées (pnpm supabase db push)
  • Edge Functions déployées (pnpm supabase functions deploy)
  • Tous les secrets définis (pnpm supabase secrets list)
  • Fournisseurs OAuth configurés avec les identifiants de production
  • Templates d'e-mails personnalisés
  • URLs de redirection mises à jour avec les domaines de production
  • Endpoint webhook Stripe défini sur l'URL de l'Edge Function de production
  • Politiques RLS vérifiées sur toutes les tables
  • Sauvegardes de base de données activées (nécessite le plan Supabase Pro)

Fini ? Marquez cette page comme terminée.

On this page