From 7b9aa7c82606fd6cf52be49360022ce8c916a868 Mon Sep 17 00:00:00 2001 From: Rudy ERCEK Date: Thu, 16 Oct 2025 11:54:41 +0200 Subject: [PATCH] Add MAX_UPLOAD_SIZE environment variable --- server-ce/init_scripts/200_nginx_config_template.sh | 2 ++ server-ce/nginx/nginx.conf.template | 2 +- services/web/app/src/Features/Uploads/ArchiveManager.js | 2 +- services/web/config/settings.defaults.js | 4 +++- 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/server-ce/init_scripts/200_nginx_config_template.sh b/server-ce/init_scripts/200_nginx_config_template.sh index f5707260ce..ac908cf511 100755 --- a/server-ce/init_scripts/200_nginx_config_template.sh +++ b/server-ce/init_scripts/200_nginx_config_template.sh @@ -20,6 +20,7 @@ if [ -f "${nginx_template_file}" ]; then export NGINX_KEEPALIVE_TIMEOUT="${NGINX_KEEPALIVE_TIMEOUT:-65}" export NGINX_WORKER_CONNECTIONS="${NGINX_WORKER_CONNECTIONS:-768}" export NGINX_WORKER_PROCESSES="${NGINX_WORKER_PROCESSES:-4}" + export MAX_UPLOAD_SIZE="${MAX_UPLOAD_SIZE:-50}" echo "Nginx: generating config file from template" @@ -31,6 +32,7 @@ if [ -f "${nginx_template_file}" ]; then ${NGINX_KEEPALIVE_TIMEOUT} ${NGINX_WORKER_CONNECTIONS} ${NGINX_WORKER_PROCESSES} + ${MAX_UPLOAD_SIZE} ' \ < "${nginx_template_file}" \ > "${nginx_config_file}" diff --git a/server-ce/nginx/nginx.conf.template b/server-ce/nginx/nginx.conf.template index 639937f41c..2fb8ad3271 100644 --- a/server-ce/nginx/nginx.conf.template +++ b/server-ce/nginx/nginx.conf.template @@ -46,7 +46,7 @@ http { gzip_disable "msie6"; gzip_proxied any; # allow upstream server to compress. - client_max_body_size 50m; + client_max_body_size ${MAX_UPLOAD_SIZE}m; # gzip_vary on; # gzip_proxied any; diff --git a/services/web/app/src/Features/Uploads/ArchiveManager.js b/services/web/app/src/Features/Uploads/ArchiveManager.js index fc81fdb4b3..96c551ae42 100644 --- a/services/web/app/src/Features/Uploads/ArchiveManager.js +++ b/services/web/app/src/Features/Uploads/ArchiveManager.js @@ -69,7 +69,7 @@ const ArchiveManager = { new InvalidZipFileError({ info: { totalSizeInBytes } }) ) } - const isTooLarge = totalSizeInBytes > ONE_MEG * 300 + const isTooLarge = totalSizeInBytes > ONE_MEG * 6 * Settings.maxUploadSize // 6 * 50 MB = 300 MB return callback(null, isTooLarge) }) }) diff --git a/services/web/config/settings.defaults.js b/services/web/config/settings.defaults.js index acfff367f6..d9c864a01f 100644 --- a/services/web/config/settings.defaults.js +++ b/services/web/config/settings.defaults.js @@ -368,7 +368,9 @@ module.exports = { process.env.PROJECT_UPLOAD_TIMEOUT || '120000', 10 ), - maxUploadSize: 50 * 1024 * 1024, // 50 MB + maxUploadSize: process.env.MAX_UPLOAD_SIZE + ? parseInt(process.env.MAX_UPLOAD_SIZE, 10) * 1024 * 1024 + : 50 * 1024 * 1024, // 50 MB multerOptions: { preservePath: process.env.MULTER_PRESERVE_PATH, },