Change the maximum attachment/upload size

:bookmark: This guide explains how to change the maximum attachment upload size for self-hosted Discourse instances.

:person_raising_hand: Required user level: System Admin

The default attachment upload size limit is 10MB

If you are self-hosting Discourse and need to allow uploads larger than 10 MB, follow the steps below.

Changing the upload size

  1. Connect to your server:
  • Use SSH to access your server’s command line interface.
  1. Edit the configuration file:
  • Navigate to the configuration directory and edit the app.yml file:
cd /var/discourse/
nano containers/app.yml
  1. Modify the upload parameters:
  • Look for the section labeled params. Directly below, add your desired upload size with careful attention to formatting:
params:
  ## Which Git revision should this container use? (default: latest)
  version: latest
  ## Maximum upload size (default: 10m)
  upload_size: 20m
  1. Save your changes:
  • Press Ctrl+X to exit, then Y to confirm, and Enter to save the changes.
  1. Rebuild the Discourse instance:
  • Run the following command from the /var/discourse directory:
./launcher rebuild app
  1. Update site settings:
  • Go to /admin/site_settings/category/files in your Discourse dashboard.
  • Adjust the max attachment size kb to 20480 (for 20 MB) or your preferred size.

Last edited by @david 2025-09-29T13:05:48Z

Check documentPerform check on document:
62 « J'aime »

Pourquoi le message d’erreur est-il incorrect ? Voici mon message d’erreur.

Lors de la tentative de téléchargement d’un fichier de 10 Mo. Le message d’erreur est incorrect.

3 « J'aime »

De quel type de fichier s’agissait-il ? Êtes-vous en mesure de téléverser d’autres fichiers sur ce site ?

Parfois, des problèmes de navigateur surviennent pendant le processus de téléversement, causant des problèmes temporaires. Veuillez essayer de téléverser à nouveau votre fichier, dans une nouvelle session de navigateur.

2 « J'aime »

Cet article n’a pas été mis à jour depuis longtemps ? Pourquoi ne puis-je pas trouver « upload_size: 20m » ???

2 « J'aime »

Le premier message a été mis à jour il y a 5 jours

Le guide indique que vous devez ajouter cette ligne. Donc, avant de l’ajouter, vous ne la trouverez pas. J’ai ajouté une mise en forme dans la citation ci-dessous. Cela vous aide-t-il ?

9 « J'aime »

cela affecte-t-il également le réglage de la taille maximale des images en Ko ?

1 « J'aime »

Oui, cela affecte tout type de téléversement.

Plus précisément, je pense que le paramètre upload_size de app.yml est transmis à nginx sous le nom de client_max_body_size, qui est le même paramètre fourni dans les descriptions des deux paramètres du site :

Taille max image Ko La taille maximale de téléversement des images. Ceci doit également être configuré dans nginx (client_max_body_size) / apache ou le proxy. Les images plus grandes que ceci et plus petites que client_max_body_size seront redimensionnées pour s’adapter lors du téléversement.
Taille max pièce jointe Ko La taille maximale de téléversement des fichiers joints. Ceci doit également être configuré dans nginx (client_max_body_size) / apache ou le proxy.
4 « J'aime »

Ce réglage permet maintenant de saisir directement des Mo :

image

Peut-être que le nom du réglage doit être modifié et le texte ci-dessus mis à jour ?

Sauf si quelque chose a changé, ce changement apporté au yml modifie la taille maximale autorisée par Discourse. C’est-à-dire que la taille maximale disponible dans l’interface utilisateur est de 10 Mo. Cela vous permet d’augmenter ce maximum en modifiant certains éléments dans les fichiers de configuration nginx.

Ce que je voulais dire, c’est que vous n’avez plus besoin de saisir « kb » dans les paramètres du site, et non que la fonctionnalité a changé.

Bien qu’il serait agréable que les paramètres du site reflètent simplement ce qui se trouve dans le YML sans avoir besoin d’un paramètre distinct.

1 « J'aime »

Je pense que même si la saisie utilisateur permet d’utiliser des Mo aussi, la valeur est toujours enregistrée en Ko.

Pour moi, les noms des paramètres ne sont pas des informations pour l’utilisateur mais plutôt un terme technique pour identifier le paramètre. Ils ne sont pas traduisibles, donc les administrateurs utilisant Discourse dans une langue différente ne les comprendront pas nécessairement. Et la configuration de Discourse devrait fonctionner pour eux aussi. La description doit donc être suffisamment claire en soi.
Peut-être que les utilisateurs anglophones devraient adopter cette perspective aussi et ignorer le nom du paramètre, en se concentrant davantage sur la description. Ainsi, vous ne seriez pas confus par le nom.

1 « J'aime »

Mais vous pourriez, par exemple, avoir une instance multisite et certains sites souhaitent moins que le maximum théorique. C’est du moins en partie la raison pour laquelle il existe deux paramètres.

1 « J'aime »

Que diriez-vous d’améliorer le texte descriptif de ce paramètre et d’y lier ce sujet ?
Je pense que cela améliorerait les choses pour tout le monde.

1 « J'aime »