Souhaitez-vous utiliser Google Storage pour vos uploads d’images ? Voici les étapes à suivre :
-
Définissez un projet Google par défaut si vous n’en avez pas.
-
Obtenez une clé de développeur.
-
Créez un bucket en allant ici. Entrez un nom unique et sélectionnez une classe de stockage par défaut (j’ai utilisé multi-régional aux États-Unis).
Maintenant, nous devons configurer l’instance Discourse. Allez dans les paramètres et ajoutez un filtre pour S3. Ensuite, apportez les modifications suivantes :
-
Cochez la case «
enable s3 backups» si vous souhaitez activer les sauvegardes manuelles ou automatisées. -
Entrez le nom du bucket souhaité créé ci-dessus dans «
s3 backup bucket» sienable s3 backupsest coché. -
Collez à la fois «
Access Key ID» et «Secret Access Key» dans leurs champs de texte respectifs (ces clés ont été générées lors de la création de la clé de développeur). -
Dans
s3_endpoint, collez le point de terminaison ci-dessous :https://storage.googleapis.com
C’est tout ! Essayez d’uploader une image — tout devrait fonctionner comme par magie ![]()
Pour « servir » les images directement depuis votre domaine, suivez les étapes ci-dessous :
-
Assurez-vous que votre bucket est accessible publiquement. Il doit être configuré avec des permissions au niveau de l’objet.
-
Configurez un équilibreur de charge si vous n’en avez pas déjà un. Pour le backend, créez un bucket backend, pointez-le vers le bucket de stockage créé ci-dessus, activez le CDN et connectez-le.
-
Pour la carte d’URL, créez deux règles. Les hôtes pour les deux doivent être
*; les chemins doivent être/original/*et/optimized/*; et le backend doit pointer vers le bucket backend — enregistrez les paramètres. -
Dans les paramètres de Discourse, modifiez
s3 cdn urlpour indiquer votre domaine — assurez-vous que cela correspond à la configuration de votre règle d’équilibreur de charge.
C’est tout — les images devraient maintenant provenir de www.votredomaine.com/.
Les sauvegardes sont désormais possibles, comme l’a aimablement souligné @tuanpembual dans ce post. Essentiellement, vous devez :
- Accédez à votre projet dans la console Google Cloud.
- Sélectionnez Storage.
- Sélectionnez votre bucket.
- Allez dans l’onglet Permissions.
- Ajoutez une nouvelle permission, remplissez l’email de votre compte de service avec votre compte. Pour les rôles, sélectionnez Storage Legacy Object Owner.
- Enregistrez et c’est terminé.