Puis-je augmenter la limite de 1024000 Ko sur la pièce jointe ?

J’utilise S3 pour le stockage des pièces jointes, ce qui permet de gérer jusqu’à 160 Go.
J’ai modifié la limite nginx à 0 (illimité).
Le paramètre “upload_size” du fichier app.yml est également défini sur 0.

Nous ne téléchargeons pas directement vers S3 ; les fichiers vont d’abord sur votre serveur, puis le serveur les envoie à S3. Cela signifie que vous ne devez pas définir une limite supérieure à votre espace disque disponible.

D’accord, je souhaite définir la limite à 10 Go, j’ai suffisamment d’espace disque. Mais comment puis-je modifier la limite de Discourse ?

Vous pouvez remplacer la valeur maximale à l’aide d’un plugin personnalisé. Vous pouvez utiliser celui-ci comme exemple :

Merci, je peux confirmer que la limite est supprimée avec l’utilisation de ce plugin et des paramètres suivants :

files:
  max_attachment_size_kb:
    client: true
    default: 1024000
    max: 6144000

Cependant, je rencontre deux problèmes :

  1. Le téléchargement d’un fichier de 2 Go se déroule correctement jusqu’à 100 %, puis échoue avec une erreur générique dans une fenêtre contextuelle.
  2. À chaque fois que j’essaie cela, la taille du conteneur Docker de Discourse augmente de 2 Go et ne libère pas l’espace !! Je suis presque à court d’espace… comment puis-je le nettoyer ?

Il vaut mieux utiliser un véritable service de stockage cloud de votre choix et lier les fichiers dans les sujets Discourse. Discourse n’est pas conçu comme un outil de stockage de fichiers volumineux.

J’utilise le stockage cloud S3. Rien ne doit être stocké sur Discourse lui-même.

Ce n’est pas ce que je veux dire — je parle d’un service de cloud grand public comme Google Drive, OneDrive, Dropbox, etc.

Peu importe la méthode choisie, Discourse n’est pas conçu pour gérer de gros fichiers.

Peu importe où le fichier se retrouve, Discourse n’est pas non plus conçu pour être un mécanisme d’upload de fichiers volumineux.

Je comprends que ce n’était pas l’intention initiale, mais ce serait une excellente fonctionnalité pour moi et cela améliorerait l’expérience utilisateur s’ils n’avaient pas à passer par un autre service pour télécharger des fichiers, puis revenir sur Discourse. J’espère donc que vous ne le prendrez pas mal si j’essaie de le faire fonctionner, même si ce n’était pas l’objectif du développement original.

La beauté de l’open source, c’est que vous êtes libre de bricoler.

De même, si quelque chose n’est pas pris en charge, rien ne garantit que les modifications futures de Discourse ne rendront pas les ajustements que vous effectuez aujourd’hui totalement inopérants à l’avenir.

Je envisage d’autoriser l’envoi de gros fichiers (pouvant atteindre 50 Mo, et il est possible que des envois en masse soient effectués via l’API) sur mon site également. J’essaie simplement de comprendre les préoccupations soulevées ici. Si S3 est configuré pour gérer l’envoi et le stockage de gros fichiers, et que le forum Discourse contient des liens vers ces fichiers pour afficher un lien de téléchargement aux utilisateurs, quelqu’un pourrait-il fournir plus de détails sur les problèmes spécifiques que vous anticipez avec Discourse ?

Le composant de téléchargement actuel n’est tout simplement pas conçu pour les gros fichiers (seul le téléchargement de sauvegardes dans l’interface d’administration l’est).

Nous sommes en train de normaliser et de refactoriser notre code de téléchargement et prévoyons de prendre en charge les transferts directs vers S3. Une fois cela fait, il sera techniquement possible d’effectuer de gros transferts vers S3.

Merci pour ces informations, @sam. Je ne connaissais pas précédemment la manière dont les fichiers uploadés étaient stockés. Il semble donc que, par défaut, les uploads de fichiers soient stockés sur le même serveur qui exécute Discourse — dans ce cas, je comprends comment des uploads volumineux pourraient poser problème. Et je comprends aussi vos efforts pour prendre en charge à l’avenir les uploads directs vers S3.

Et si vous configuriez dès maintenant les choses pour envoyer les uploads de fichiers vers S3, comme décrit ici ?

Cela offrirait-il les mêmes avantages dès maintenant que ceux que vous prévoyez de publier à l’avenir en tant que fonctionnalité automatique, et permettrait-il à Discourse de prendre en charge les uploads (et téléchargements) de fichiers volumineux ?

Notre système actuel de téléversement suit le chemin utilisateurserveur DiscourseS3.

Le nouveau système que nous déployons dans quelques semaines suivra le chemin utilisateurS3.

Les sites pourront-ils passer en douceur au nouveau système de téléchargement, de sorte que les téléchargements effectués sous l’ancien système continueront de fonctionner, tout comme ceux du nouveau système ?

Je suppose que oui, étant donné que tout sera stocké sur S3, mais je voulais confirmer. Merci.

Puisque les fichiers finiront au même endroit, en empruntant simplement moins de détours, le changement sera transparent pour les utilisateurs et les administrateurs.

Pour préciser : je m’attends à ce que les utilisateurs ne remarquent aucun changement, si ce n’est peut-être que leurs fichiers se téléchargeront et s’uploaderont plus rapidement, ce qui permettra d’accepter des fichiers plus volumineux si les administrateurs le souhaitent. Est-ce exact ?

Ils seront probablement téléchargés plus rapidement. Les téléchargements devraient rester identiques (car la fonctionnalité ne concernera que les téléversements).

Je suppose que oui, mais c’est à l’équipe de Discourse de faire une déclaration officielle à ce sujet.