From fdc8732ba714734b8204fdcb55a2b5ba59de1b2d Mon Sep 17 00:00:00 2001 From: Jannis Braun <151788261+TheZwiss@users.noreply.github.com> Date: Mon, 23 Mar 2026 02:36:22 +0100 Subject: [PATCH] fix: raise upload size cap from 500 MB to 5 GB The 500 MB cap was arbitrary. Self-hosted admins should decide based on their own disk space. Global multipart ceiling raised to 5 GB, validation cap to 5120 MB. --- packages/server/src/index.ts | 2 +- packages/server/src/routes/settings.ts | 4 ++-- .../components/modals/instanceSettingsPanels/StoragePanel.tsx | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/server/src/index.ts b/packages/server/src/index.ts index 744a2630..a0289d47 100644 --- a/packages/server/src/index.ts +++ b/packages/server/src/index.ts @@ -61,7 +61,7 @@ async function main(): Promise { await app.register(multipart, { limits: { - fileSize: 500 * 1024 * 1024, // 500MB hard ceiling — actual limit enforced per-request + fileSize: 5 * 1024 * 1024 * 1024, // 5GB hard ceiling — actual limit enforced per-request from DB }, }); diff --git a/packages/server/src/routes/settings.ts b/packages/server/src/routes/settings.ts index b5312024..f02ceb59 100644 --- a/packages/server/src/routes/settings.ts +++ b/packages/server/src/routes/settings.ts @@ -224,8 +224,8 @@ export async function settingsRoutes(app: FastifyInstance): Promise { if (body.maxUploadSizeMb !== undefined) { const mb = Number(body.maxUploadSizeMb); - if (isNaN(mb) || mb < 1 || mb > 500) { - return reply.code(400).send({ error: 'maxUploadSizeMb must be between 1 and 500', statusCode: 400 }); + if (isNaN(mb) || mb < 1 || mb > 5120) { + return reply.code(400).send({ error: 'maxUploadSizeMb must be between 1 and 5120', statusCode: 400 }); } updateData.maxUploadSizeBytes = Math.round(mb * 1024 * 1024); } diff --git a/packages/web/src/components/modals/instanceSettingsPanels/StoragePanel.tsx b/packages/web/src/components/modals/instanceSettingsPanels/StoragePanel.tsx index 1f724edd..2fc414cc 100644 --- a/packages/web/src/components/modals/instanceSettingsPanels/StoragePanel.tsx +++ b/packages/web/src/components/modals/instanceSettingsPanels/StoragePanel.tsx @@ -200,7 +200,7 @@ export function StoragePanel() { { setUploadLimitMb(Number(e.target.value)); setUploadLimitDirty(true); }} className="input-standard w-20 px-2 py-1 text-sm text-center" @@ -208,7 +208,7 @@ export function StoragePanel() { MB