Brancher OVH Object Storage à Supabase self-hosted

1. Créer le bucket OVH

Dans le Public Cloud OVH :

Créer un utilisateur S3 :

2. Créer le fichier override Supabase

Supabase est en backend file par défaut. On override via un fichier compose dédié.

nano ~/project/supabase/supabase-project/docker-compose.ovh.yml
services:
  storage:
    environment:
      STORAGE_BACKEND: s3
      GLOBAL_S3_BUCKET: NOM_DU_BUCKET
      GLOBAL_S3_ENDPOINT: https://ENDPOINT_OVH
      GLOBAL_S3_FORCE_PATH_STYLE: "true"
      AWS_ACCESS_KEY_ID: ACCESS_KEY
      AWS_SECRET_ACCESS_KEY: SECRET_KEY
      AWS_DEFAULT_REGION: REGION
      REGION: REGION
      TENANT_ID: nom_projet

Point clé : utiliser les variables AWS_* (pas GLOBAL_S3_ACCESS_KEY) — c'est le SDK AWS qui lit ces variables.

3. Lancer Supabase avec l'override

cd ~/project/supabase/supabase-project
podman compose -f docker-compose.yml -f docker-compose.ovh.yml up -d

Vérifier les variables dans le conteneur :

podman exec supabase-storage env | grep -E "AWS|STORAGE_BACKEND"

Vérifier les logs au démarrage :

podman logs supabase-storage 2>&1 | tail -50

4. Tester

Dans Supabase Studio → Storage → New Bucket → uploader un fichier. Le fichier apparaît dans le bucket OVH sous le chemin : BUCKET_OVH/TENANT_ID/bucket_supabase/fichier.

Architecture finale

App ─── upload ──▶ Supabase Storage API ──▶ OVH Object Storage
                            │
                            ▼
                   storage.objects (Postgres)
                   [métadonnées + permissions RLS]

Limitations à connaître


Revision #1
Created 2026-05-08 21:48:33 UTC by Sanjy
Updated 2026-05-08 21:48:41 UTC by Sanjy