Configuration de Scaleway Object Storage avec Dokploy & Laravel
Mettre en place une solution de stockage S3 économique, souveraine et performante pour vos applications Laravel & Nuxt hébergées sur Dokploy.

Technologies : Scaleway Object Storage, Dokploy, Laravel (PHP), PostgreSQL, S3 API
Objectif : Configurer un stockage d'objets compatible S3 souverain et jusqu'à 9x moins cher qu'AWS S3 pour vos médias et sauvegardes automatiques.
Pourquoi Scaleway plutôt qu'AWS S3 ? #
Pour héberger des médias et sauvegarder vos bases de données, Scaleway Object Storage offre un rapport coût/performance imbattable :
| Critère | Scaleway | AWS S3 |
|---|---|---|
| Stockage (1 To) | ~8 € / mois | ~23 $ / mois |
| Transfert sortant | 75 Go gratuits, puis 0,01 € / Go | ~0,09 $ / Go |
| Frais de requêtes API | Inclus | Facturés |
| Conformité & Juridiction | 100% européen (RGPD) | Dépend de la région |
1. Création du Bucket & Clés API Scaleway #
1. Créer le Bucket dans la console Scaleway (Storage > Object Storage) :
- Nom : entreprise-media (unique).
- Région : fr-par (Paris).
- Visibilité : Private.
2. Générer une clé API IAM :
- Allez dans IAM > API Keys > Generate API key.
- Associez la politique de droits ObjectStorageFullAccess.
- Conservez précieusement l'Access Key et la Secret Key.
2. Configuration S3 dans Dokploy #
Dans votre tableau de bord Dokploy (Settings > S3 Destinations) :
- Provider :
Scaleway Object Storage - Access Key ID :
SCWXXXXXXXXXXXXXXXXX - Secret Access Key :
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - Bucket :
entreprise-media - Region :
fr-par - Endpoint :
https://s3.fr-par.scw.cloud
⚠️ Point Crucial : Cliquez sur + Add Flag et ajoutez impérativement :
--s3-force-path-style=false
Ce paramètre force le format virtual-host requis par Scaleway et évite les erreurs de certificat TLS.
Cliquez sur Test connection pour valider l'accès.
3. Intégration Native dans Laravel #
Grâce au pilote S3 intégré dans Laravel, l'intégration se fait sans code supplémentaire.
Variables d'environnement (.env)
#
AWS_ACCESS_KEY_ID=SCWXXXXXXXXXXXXXXXXX
AWS_SECRET_ACCESS_KEY=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
AWS_DEFAULT_REGION=fr-par
AWS_BUCKET=entreprise-media
AWS_ENDPOINT=https://s3.fr-par.scw.cloud
AWS_USE_PATH_STYLE_ENDPOINT=false
Configuration config/filesystems.php
#
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'endpoint' => env('AWS_ENDPOINT'),
'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
'throw' => false,
],
Utilisation dans votre code #
use Illuminate\Support\Facades\Storage;
class=class="text-emerald-400">"text-slate-500 italic">// Envoi d'un fichier sur Scaleway
$path = Storage::disk('s3')->putFile('documents', $request->file('doc'));
class=class="text-emerald-400">"text-slate-500 italic">// Récupération de l'URL publique
$url = Storage::disk('s3')->url($path);
4. Sauvegardes Automatiques PostgreSQL #
Sur Dokploy, configurez vos backups en 1 clic :
1. Allez sur votre base de données PostgreSQL > onglet Backups.
2. Sélectionnez la destination Scaleway Media Bucket.
3. Définissez la planification cron (ex: 0 2 * pour chaque nuit à 2h) et une rétention de 7 à 30 jours.
En Résumé #
Scaleway combiné à Dokploy et Laravel offre une infrastructure cloud économique, souveraine et hautement performante. Vous bénéficiez d'une compatibilité S3 totale avec des coûts divisés par 3 par rapport aux hyperscalers traditionnels.