Scaleway a-t-il changé quelque chose ? Cela fonctionnait pour moi il y a 48 heures, mais cela ne fonctionne plus.
Votre facture est-elle payée ? Qu’est-ce qui ne va pas ? Est-ce que des images fonctionnent ? Ont-elles toutes disparu ou ne pouvez-vous tout simplement pas en ajouter de nouvelles ?
Pouvez-vous ajouter un peu plus de support ? Par exemple, Tencent COS de Chine est plus pratique pour les utilisateurs chinois, et le COS de Tencent Cloud dispose de nœuds CDN dans le monde entier, ce qui permet un accès très rapide.
L’avez-vous essayé ? Est-ce que ça marche ?
Je l’ai utilisé dans l’environnement de test, mais je ne peux sauvegarder que sur Tencent COS, et j’espère que le responsable de Discourse pourra ajouter la prise en charge de Tencent COS pour faciliter les développeurs de Chine.
Je pense que vous devrez partager ce que vous avez fait et les erreurs ou problèmes que vous avez rencontrés. Ensuite, quelqu’un pourra peut-être suggérer comment le faire fonctionner. Vous pourriez examiner les autres exemples et voir si vous pouvez les utiliser pour le faire fonctionner.
Je pense qu’il est peu probable qu’ils apportent des modifications au cœur pour le prendre en charge.
Backblaze :
- J’ai configuré un bucket B2 dans mon compte
- J’ai ajouté les détails à la section
envdeapp.yml - J’ai exécuté
./launcher rebuild app
…mais je ne vois aucune confirmation dans le tableau de bord de mon instance Discourse que ces paramètres ont pris effet. Où dois-je regarder ?
Salut,
J’ai pu tester et utiliser avec succès Cloudflare R2 pour les téléchargements et les sauvegardes. Article détaillé ici Cloudflare R2: Navigating Setup and Handling Configuration Errors - #40 by kamaljain
Je vous demanderais de bien vouloir tester de votre côté et de passer la mention « Fonctionne avec Discourse » à Oui pour Cloudflare R2. En fait, c’est plus facile que S3 et plus économique, gratuit si moins de 10 Go de stockage.
J’ai également testé une configuration sur multisite et je pense qu’elle fonctionne.
J’ai vu quelque chose qui me fait me demander si vous pouvez obtenir une liste de sauvegardes. Je vais essayer de vérifier ma configuration.
Salut mec, puis-je discuter avec toi, j’ai quelques problèmes lors de la configuration avec minio.
Merci.
Configuration iDrive
Je voulais juste signaler que l’utilisation de la version E2 d’iDrive pour le stockage s3 fonctionne parfaitement avec ces paramètres :
Paramètres ENV dans le fichier yaml
Assurez-vous que votre bucket a au moins les permissions Public et Read dans les paramètres d’iDrive.
Voici les paramètres que j’utilise pour un bucket partageant uploads et backups.
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: votre-région
DISCOURSE_S3_ENDPOINT: https://votre-point-de-terminaison-idrive.dev
DISCOURSE_S3_ACCESS_KEY_ID: votre-clé-d'accès
DISCOURSE_S3_SECRET_ACCESS_KEY: votre-clé-secrète
DISCOURSE_S3_CDN_URL: https://votre-cdn-personnalisé.com/uploads
DISCOURSE_S3_BUCKET: votre-nom-de-bucket/uploads
DISCOURSE_S3_BACKUP_BUCKET: votre-nom-de-bucket/backups
DISCOURSE_BACKUP_LOCATION: s3
DISCOURSE_S3_INSTALL_CORS_RULE: false
Par défaut, iDrive a Partager tout dans cette région avec toutes les origines… donc cela devrait fonctionner immédiatement, quelles que soient les sources. Verrouillez-le sur vos propres domaines si vous le souhaitez.
J’utilise un certificat d’origine Cloudflare pour créer un CNAME qui pointe vers le point de terminaison iDrive.
Synchroniser les pièces jointes existantes
Reconstruire
Reconstruisez l’application après avoir modifié ces paramètres ENV.
Télécharger et Re-cuire
Entrez ensuite dans le conteneur et exécutez
rake uploads:migrate_to_s3
Regardez le téléchargement, puis exécutez
rake posts:rebake_uncooked_posts
Quittez le conteneur
Ajouter à la section hooks du fichier yaml
Dans la section hooks
after_assets_precompile:
- exec:
cd: $home
cmd:
- sudo -E -u discourse bundle exec rake s3:upload_assets
- sudo -E -u discourse bundle exec rake s3:expire_missing_assets
Cela garantit que les fichiers js/css sont téléchargés sur iDrive après vos pièces jointes, sinon vous obtiendrez une série d’erreurs de console dans le navigateur car ils manqueront tous.
Reconstruire
Reconstruisez à nouveau après l’exécution de la commande d’assets.
Tout devrait bien se passer !
Peut-être que le service Hetzner Object Storage devrait être ajouté au tableau ?
J’ai réussi à utiliser Contabo pour les téléversements de fichiers. Les anciens fichiers (migrés) et les nouveaux téléversements ont fonctionné sans problème. Dans mon cas, l’URL du bucket était https://eu2.contabostorage.com/mybucket.
L’astuce a été de définir EU2 comme nom de bucket et https://contabostorage.com/mybucket comme endpoint.
Le seul problème est que lors du chargement du site, il demande également d’autres fichiers comme les js des plugins depuis le bucket et ils ne se chargent pas car les fichiers sont indisponibles. Eh bien, j’ai compris que c’est parce que j’ai défini l’URL du CDN comme le bucket. Ce n’est pas très clair pour moi pour le moment, quelqu’un peut-il me dire comment le configurer ? D’après ce que j’ai compris, je dois créer une adresse cname qui pointe vers le domaine principal (serveur discourse) et la proxy avec cloudflare, est-ce correct ?
Vous avez manqué ceci :
Je suis sûr de l’avoir fait, mais j’ai peut-être fait une erreur. Finalement, j’ai restauré une sauvegarde, donc je me fie un peu à ma mémoire… Mais alors, je me demande, pourquoi est-il déconseillé de définir un CDN comme Bucket ? Quels problèmes cela peut-il causer ? Je réessayerai demain.
Merci
Je ne pense pas que le problème que vous décrivez soit dû au fait que vous ayez défini l’URL du CDN comme URL du bucket (c’est-à-dire si les téléchargements fonctionnent, mais pas les actifs).
Je vous tiendrai au courant demain, merci
Et ça a fonctionné ![]()
Étapes de ce que j’ai fait en espérant aider les autres :
modifié app.yml et ajouté
after_assets_precompile:
- exec: cd: $home
cmd: - sudo -E -u discourse bundle exec rake s3:upload_assets
- sudo -E -u discourse bundle exec rake s3:expire_missing_assets
après hooks : (juste après git clone plugins…)
et
DISCOURSE_USE_S3: true
DISCOURSE_S3_REGION: EU
DISCOURSE_S3_ENDPOINT: https://contabostorage.com/bucketname
DISCOURSE_S3_ACCESS_KEY_ID: accesskey
DISCOURSE_S3_SECRET_ACCESS_KEY: secretaccesskey
DISCOURSE_S3_CDN_URL: https://eu2.contabostorage.com/randomlettersthatcontaboaddstothelinks:bucketname
DISCOURSE_S3_BUCKET: eu2
DISCOURSE_BACKUP_LOCATION: s3
DISCOURSE_S3_INSTALL_CORS_RULE: false
après les paramètres de messagerie
puis j’ai défini les mêmes valeurs dans le menu discourse et activé les téléchargements S3.
Reconstruit l’application avec
cd /var/discourse
sudo ./launcher rebuild app
puis
./launcher enter app
rake uploads:migrate_to_s3
Cela prend un peu de temps, dans mon cas quelques heures (80k fichiers, 100 Go)
Quand c’est terminé
rake posts:rebake_uncooked_posts
Mise à jour : certains utilisateurs n’ont pas pu charger le site (ressources et fichiers). Nous avons constaté que le domaine contabostorage.com était présent sur certaines listes noires en tant que site de phishing. La solution était simple :
configurez un sous-domaine files.mydomain.com comme décrit ici Can I Setup a Custom Domain for My Object Storage? : Contabo
Mise à jour de DISCOURSE_S3_CDN_URL : https://files.mydomain.com dans app.yml
Ensuite
cd /var/discourse
sudo ./launcher rebuild app
et pour terminer le travail
./launcher enter app
rake posts:rebake
Maintenant, toutes les ressources et les téléchargements se chargent depuis https://files.mydomain.com/pathtofile/file.ext
Terminé
