Les buckets Cloudflare R2 peuvent être utilisés pour stocker des ressources statiques telles que des images et des GIF pour la communauté Discourse, mais ils ne peuvent pas être utilisés pour stocker des sauvegardes de communauté !
Introduction :
Le stockage objet Cloudflare R2 peut être utilisé comme alternative à Amazon S3 pour stocker les téléchargements de votre forum Discourse. Les étapes suivantes décrivent comment le configurer.
Étapes de configuration :
Activer les téléchargements S3 : Cochez la case pour activer les téléchargements S3 dans vos paramètres Discourse.
ID de clé d’accès S3 : Entrez l’ID de clé d’API pour votre bucket de stockage R2. Il s’agit de l’ID fourni lors de la création d’un jeton d’API pour votre bucket.
Clé d’accès secrète : Entrez la clé secrète qui a été fournie lors de la création du jeton d’API accordant l’accès à votre bucket de stockage. Important : Cette clé secrète n’est affichée qu’une seule fois, assurez-vous donc de la sauvegarder en toute sécurité.
Région S3 : Vous pouvez entrer n’importe quelle région, cela n’a pas d’importance pour R2.
Bucket de téléchargement S3 : Entrez le nom de votre bucket de stockage R2.
Point de terminaison S3 : Entrez le lien de l’API S3 pour votre bucket R2, qui est au format https://xxxxxx.com. Référez-vous au tableau de bord Cloudflare R2 pour trouver ce lien.
URL CDN S3 : Entrez l’URL publique du bucket de stockage R2.dev pour votre bucket. Vous la trouverez également dans votre tableau de bord Cloudflare R2.
Achèvement :
Une fois ces paramètres configurés, votre forum Discourse sera configuré pour utiliser Cloudflare R2 pour le stockage.
Informations sur le niveau gratuit :
Le service R2 de Cloudflare offre un niveau gratuit qui comprend 10 Go de stockage, 1 million de téléchargements et 1 million d’opérations de lecture par mois.
Merci pour votre retour. J’ai lu attentivement le guide précédemment, et je pense que les conseils concernant Cloudflare R2 sont incorrects. L’article suggère que la communauté Discourse ne prend pas en charge les buckets Cloudflare R2. Cependant, en réalité, Cloudflare R2 est très compatible avec S3 et peut parfaitement gérer les téléchargements et les téléversements d’images et de fichiers pour la communauté Discourse. Cela a été vérifié par une application pratique sur ma communauté (starorigin.net).
Et je soupçonne que c’était vrai au moment où il a été écrit.
Il est beaucoup mieux de mettre les paramètres S3 dans le fichier yml que de les configurer via l’UX et de les stocker dans la base de données. Avez-vous essayé de restaurer votre base de données sur un nouveau serveur ?
Une fois que vous avez configuré les choses de la manière recommandée, vous pouvez modifier ce sujet ou faire un commentaire et demander à quelqu’un d’autre de le faire.
Vous avez raison, j’utilise un compartiment de stockage Cloudflare R2 pour stocker les images, les GIF et autres ressources de ma communauté. Cela réduit considérablement la charge sur le serveur communautaire et accélère le chargement des pages.
Je n’ai pas configuré de sauvegardes automatiques pour que ma communauté soit stockée dans le compartiment de stockage Cloudflare R2 car les compartiments Cloudflare R2 ne prennent pas en charge le stockage de fichiers compressés. Cependant, le stockage Cloudflare R2 peut stocker les PDF, images, GIF et autres ressources statiques de la communauté, ce qui est également très bien.
Merci pour le rappel, je vais mettre en évidence cette partie.
Les buckets Cloudflare R2 peuvent être utilisés pour stocker des ressources statiques comme des images et des GIF pour la communauté Discourse, mais ils ne peuvent pas être utilisés pour stocker des sauvegardes de la communauté !
Juste pour mettre à jour ce post, j’ai eu quelques pièges qui devaient être inclus avant que Cloudflare ne fonctionne pour moi.
1. Région
Ce n’était pas vrai, j’ai dû utiliser “auto” ou la région que j’ai sélectionnée, auto est plus facile, donc utilisez auto.
si vous avez besoin de savoir quelles options vous pouvez utiliser, essayez avec n’importe quelle chaîne aléatoire dans votre région et :
Cela produira une erreur pour vos options valides.
2. Permissions API
Il est également important de savoir que les jetons d’API restrictifs ne fonctionnent pas. Vous devez utiliser Admin Read & Write Object Read & Write n’a pas fonctionné.
J’ai également confirmé que les clés API sont des clés API de compte et non des clés spécifiques au bucket (comme mentionné dans le post). Mon instance Discourse affiche également ceci :
Je pense que tout cela est correct.
Assurez-vous que le CDN_URL (https://pub-xxx.r2.dev)
a un accès public en lecture afin que les utilisateurs anonymes puissent voir les ressources.
Vous pouvez voir ce qui se passe dans les outils de développement du navigateur. Vous obtiendrez un tas de 403 et de requêtes rouges dans l’onglet réseau si les autorisations sont incorrectes.
C’est une façon de faire, mais ce n’est pas la méthode recommandée, et vous rencontrerez des problèmes.
En supposant que vous ayez déjà votre domaine et que Cloudflare soit déjà votre DNS :
Dans les paramètres du compartiment S3, il y a un paramètre d’accès public.
Définissez un sous-domaine unique pour celui-ci. (Cloudflare créera automatiquement l’enregistrement DNS pour vous, ainsi que le proxy et le cache)
Avez-vous réussi à faire fonctionner les sauvegardes vers Cloudflare R2, et est-il possible (en supposant que les sauvegardes vers Cloudflare R2 soient possibles) de faire en sorte qu’elles soient sauvegardées à la fois localement et sur Cloudflare R2 ?
De plus, le script qui télécharge tous les actifs signifie-t-il qu’il les supprimera localement (pour libérer de l’espace de stockage) ? Ou y a-t-il une procédure distincte que je dois suivre ?
Je n’ai pas essayé personnellement.
Mon forum entre dans la catégorie « non prise en charge » car ma base de données est externe et j’ai une stratégie de sauvegarde différente de celle des pg_dumps utilisés par le forum.
D’après ce que j’ai entendu, les sauvegardes ne fonctionnent pas sur Cloudflare, mais rien ne vous empêche d’essayer.