Ce guide date de mes premiers essais de self-hosting Supabase. L'idée reste simple : lancer la stack PostgreSQL et ses services avec Docker pour garder la main sur les données. En revanche, les fichiers Docker et les prérequis évoluent ; vérifie toujours la procédure officielle avant de reproduire ces commandes sur une machine de production.
Prerequisites
- Docker et Docker Compose installes sur ta machine.
- Un compte GitHub pour recuperer les fichiers de config.
Step 1 : recupere les fichiers de configuration
Va sur le depot GitHub Supabase et recupere les fichiers. Clone le depot ou telecharge le ZIP.
Clone le depot
git clone https://github.com/supabase/supabase.git
Va dans le dossier de config Docker
cd supabase/docker/
Copie le fichier d'exemple
cp .env.example .env
Step 2 : modifie le fichier .env
Ouvre le fichier .env :
nano .env
Modifie ces lignes :
- POSTGRES_USER : remplace "supabase" par ton nom d'utilisateur.
- POSTGRES_PASSWORD : choisis un mot de passe.
- PGDATA : indique ou stocker les donnees (ex: "/var/lib/postgresql/data/pgdata").
Step 3 : lance Supabase avec Docker
Dans le dossier supabase/docker/, execute :
docker-compose up -d
Le mode daemon fait tourner Supabase en arriere-plan.
Step 4 : configure Supabase
Ouvre http://localhost:3000 dans ton navigateur. Connecte-toi avec les identifiants de ton .env. Tu peux alors creer des tables, ajouter des donnees, gerer les permissions. L'API REST est accessible depuis tes apps front-end et back-end.
Ce que je vérifierais avant la production
En local, cette installation suffit pour découvrir Supabase. Sur un serveur exposé, il faut en plus gérer les mises à jour, les sauvegardes PostgreSQL, les secrets, le reverse proxy et les règles réseau. Le docker-compose up -d n'est que le début : il ne remplace ni une stratégie de sauvegarde ni une configuration TLS.
Pour aller plus loin
Tu as maintenant une base de départ pour comprendre la stack et décider si le self-hosting vaut le coût opérationnel pour ton projet. C'est précisément le choix à faire avant de déplacer une application en production : gagner en contrôle signifie aussi assumer les mises à jour et la disponibilité.
Si ce guide t'a aide, je suis sur Mastodon ou Bluesky. N'hesite pas a partager ou a me faire un retour.
Article co-écrit avec l'IA · Images générées avec l'IA.
