Configurer le téléchargement d'images vers Google Cloud Storage

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 » si enable s3 backups est 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 :slightly_smiling_face:


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 url pour 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 :

  1. Accédez à votre projet dans la console Google Cloud.
  2. Sélectionnez Storage.
  3. Sélectionnez votre bucket.
  4. Allez dans l’onglet Permissions.
  5. 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.
  6. Enregistrez et c’est terminé.
19 « J'aime »