Supabase en auto-hébergement

Une série en sept parties sur l'auto-hébergement de Supabase sur un seul VPS Hetzner. Durcissement SSH, Traefik, Docker Swarm, secrets Vault, isolation multi-instance, détection d'intrusion Falco et tests de charge k6. Du premier docker stack deploy à trois projets sur une seule machine.

La série

01

Pourquoi auto-héberger Supabase

Pourquoi auto-héberger Supabase quand le plan gratuit offre déjà deux projets ? Pour comprendre ce que le service managé fait à votre place.

7 min de lecture
02

Le serveur

Mise en place d’un VPS Hetzner CX22 avec durcissement SSH, pare-feu ufw, fail2ban et Docker Swarm.

6 min de lecture
03

Traefik et HTTPS

Configuration de Traefik en reverse proxy avec certificats Let’s Encrypt automatiques et en-têtes de sécurité.

7 min de lecture
04

La première instance Supabase

Déploiement de PostgreSQL, Kong, GoTrue, PostgREST, Realtime, Storage et Studio sous forme de stack Docker Swarm.

14 min de lecture
05

Vault, et l'après-midi où j'ai tout effacé

Sortir les secrets des fichiers .env pour les confier à HashiCorp Vault, avec un script de récupération pour Docker Swarm.

8 min de lecture
06

Deux instances

Faire tourner une deuxième instance Supabase entièrement isolée sur le même serveur, avec un routage Traefik partagé.

5 min de lecture
07

Sécurité et test de charge

Audit de sécurité avec détection d’intrusion Falco, et tests de charge k6 pour trouver les limites du serveur.

9 min de lecture

Annexe : tests de charge

08

Résultats du test d’endurance

Test d’endurance de 58 minutes avec 30 utilisateurs virtuels : résultats de charge soutenue sur le CX22.

7 min de lecture
09

Résultats du test de charge bi-projet

Test de charge simultané sur deux projets : 30 VUs répartis entre deux piles Supabase.

6 min de lecture
10

Résultats du test de charge tri-projet

Test de charge tri-projet : pousser le CX22 pour trouver le plafond mémoire.

7 min de lecture