Qu'y a-t-il d'installé sur votre serveur Supabase ?
- L'installation Docker officielle de Supabase, figée sur la balise de version v1.26.08
- PostgreSQL 17 et l'écran d'administration Studio
- Les services Auth, PostgREST, Realtime, Storage et Edge Runtime
- Pooler de connexions Supavisor, avec les ports 5432 et 6543 ouverts
- SUPABASE_PUBLISHABLE_KEY, SUPABASE_SECRET_KEY, ANON_KEY, SERVICE_ROLE_KEY et POSTGRES_PASSWORD, générés par les scripts officiels
- HTTPS via Caddy sur une adresse sslip.io basée sur votre IP : un domaine est donc facultatif
- Réglages dans /opt/seturack/supabase/.env
- Pare-feu avec uniquement les ports 22, 80, 443, 5432 et 6543 ouverts
Quelle taille faut-il pour Supabase ?
La documentation Docker de Supabase fixe le minimum à 4 Go de RAM, 2 cœurs et 40 Go de disque, et recommande 8 Go ou plus de RAM, 4 cœurs ou plus et 80 Go ou plus de disque. Prenez 4 Go comme point de départ pour le développement et les petits projets, et envisagez 8 Go pour un projet avec de vrais utilisateurs. Retirer du fichier Compose les services que vous n'utilisez pas, comme Realtime ou Storage, réduit les besoins. Si cela ne suffit pas, augmentez la RAM, le CPU et le disque séparément depuis votre panneau, et vos données et votre adresse IP restent les mêmes.
| Usage | Taille | Prix | Choisir |
|---|---|---|---|
| Démarrage | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mois | |
| Moyen | 8 GB RAM · 4 vCore · 120 GB NVMe | $13.62/mois | |
| Puissant | 16 GB RAM · 8 vCore · 200 GB NVMe | $25.15/mois |
Pour qui ?
- Toute personne qui déplace un projet Supabase sur son propre serveur
- Personnes qui ont créé une application avec des outils d'IA et veulent sa base de données et sa connexion sur leur propre serveur
- Développeurs qui mettent en place leur propre environnement de développement et de test
Que se passe-t-il après votre commande ?
- Réglez la taille et terminez votre paiement.
- Votre serveur démarre et Supabase s'installe tout seul. Cela a pris environ 8 minutes lors de nos tests sur de vrais serveurs. Dans l'onglet Vue d'ensemble, attendez que la ligne Application indique que Supabase est prêt.
- Ouvrez le lien de la ligne Adresse du panneau. Votre navigateur demande l'Identifiant et le Mot de passe, puis Studio s'ouvre.
- Connectez-vous en SSH et lisez les clés : grep -E '^(SUPABASE_PUBLISHABLE_KEY|SUPABASE_SECRET_KEY|POSTGRES_PASSWORD)=' /opt/seturack/supabase/.env
- Donnez à votre application l'Adresse du panneau et la clé publishable, et gardez la clé secrète côté serveur.
- Réglez SITE_URL et ADDITIONAL_REDIRECT_URLS dans .env sur l'adresse de votre application, puis lancez docker compose up -d.
Avec chaque serveur
- Sauvegardes quotidiennes incluses dans le prix
- Trafic illimité
- Accès root complet
- Augmentez ou réduisez la RAM et le CPU plus tard, et agrandissez le disque
- Emplacement : Istanbul · IST-1.
Bon à savoir
- Supabase auto-hébergé fait tourner un seul projet. La documentation officielle indique que le branching, le PITR, la Management API et les analytics buckets ne sont pas disponibles dans cette configuration.
- Après l'installation, le SITE_URL d'Auth est l'adresse de Studio protégée par mot de passe : les liens des e-mails y mènent donc. Mettez l'adresse de votre application dans SITE_URL et ADDITIONAL_REDIRECT_URLS.
- Les ports 5432 et 6543 sont ouverts sur Internet, et ufw ne peut pas les fermer car Docker les publie. Pour les limiter, ajoutez 127.0.0.1: au début des lignes de port de Supavisor dans docker-compose.yml et utilisez un tunnel SSH.
- Les mises à jour relèvent de votre responsabilité. Supabase publie sa configuration Compose environ une fois par mois, et le script update.sh du dossier fusionne les changements dans votre installation.
Questions et réponses sur Supabase
De combien de RAM Supabase auto-hébergé a-t-il besoin ?
La documentation de Supabase demande au moins 4 Go de RAM, 2 cœurs et 40 Go de disque pour une installation auto-hébergée, et recommande 8 Go ou plus de RAM. Retirer du fichier Compose les services que vous n'utilisez pas réduit les besoins.
Où trouver mes clés d'API Supabase ?
Connectez-vous en SSH et regardez dans /opt/seturack/supabase/.env. SUPABASE_PUBLISHABLE_KEY est destinée au code client. SUPABASE_SECRET_KEY a tous les droits et n'a sa place que côté serveur. Les anciennes ANON_KEY et SERVICE_ROLE_KEY continuent de fonctionner.
Comment connecter mon application à Supabase auto-hébergé ?
Avec supabase-js, passez l'Adresse du panneau et la valeur de SUPABASE_PUBLISHABLE_KEY à createClient. REST, Auth, Storage et Realtime se trouvent tous sous cette adresse. L'identifiant et le mot de passe que demande votre navigateur ne servent que pour Studio, et les requêtes d'API sont vérifiées par clé.
Comment me connecter depuis l'extérieur à la base de données Supabase ?
Les connexions passent par Supavisor : postgres://postgres.your-tenant-id:POSTGRES_PASSWORD@ADDRESS:5432/postgres. Le port 5432 est le mode session et 6543 le mode transaction. your-tenant-id est la valeur de POOLER_TENANT_ID dans .env. Postgres lui-même n'est pas publié vers l'extérieur.
Pourquoi les e-mails d'inscription Supabase n'arrivent-ils pas ?
Aucun vrai serveur SMTP n'est configuré à l'installation : les inscriptions confirmées par e-mail ne peuvent donc pas aboutir. Renseignez, pour votre fournisseur de messagerie, les valeurs commençant par SMTP_ dans /opt/seturack/supabase/.env, puis lancez docker compose up -d dans ce dossier. Pour autoriser les inscriptions sans confirmation, regardez le réglage ENABLE_EMAIL_AUTOCONFIRM.
Puis-je faire tourner plusieurs projets Supabase ?
Une installation fait tourner un seul projet, et Studio ne prend pas en charge plusieurs organisations ou projets. Utilisez un serveur séparé pour chaque projet.
Mes données Supabase sont-elles sauvegardées ?
Votre serveur est sauvegardé chaque nuit, les 7 derniers jours sont conservés, et cela est inclus dans le prix. Les sauvegardes gérées de Supabase et le PITR ne font pas partie d'une installation auto-hébergée. Pour revenir à un instant précis, conservez aussi vos propres fichiers pg_dump.