Passer au contenu principal
Solya stocke les fichiers téléchargés (par ex. images de produits) via une petite abstraction de stockage avec deux backends.

Backends

BackendSTORAGE_TYPEUtilisation
Système de fichiers locallocalDéveloppement.
S3 / Compatible S3s3Production (AWS S3 ou Scaleway Object Storage).
Le backend est sélectionné par la variable d’environnement STORAGE_TYPE.

Configuration

Local :
  • STORAGE_LOCAL_PATH — répertoire du système de fichiers (défaut public/uploads).
  • STORAGE_LOCAL_URL — préfixe d’URL public (défaut /uploads).
S3 (AWS ou Scaleway) :
  • S3_BUCKET_NAME — le bucket.
  • AWS_REGION — la région.
  • AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY — identifiants (optionnel ; un rôle IAM est utilisé s’il est omis).
  • S3_ENDPOINT — point de terminaison personnalisé pour les fournisseurs compatibles S3 (par ex. Scaleway).

Accès via des URLs signées

Les fichiers sont stockés de manière privée. L’application les sert via des URLs pré-signées générées à la lecture, avec une expiration par défaut d’une heure. Le stockage local retourne des URLs directes (pas d’expiration). Une nouvelle signature est produite à chaque fois, donc les URLs signées ne sont pas mises en cache.
Les clés d’objet sont organisées par organisation, gardant les fichiers de chaque tenant séparés. La couche de stockage est plain file I/O ; tout traitement d’image se fait en amont dans les handlers de téléchargement.