From 54f168cfa207c36f2d021bf41db45b4af7d5539e Mon Sep 17 00:00:00 2001 From: mole Date: Mon, 3 Nov 2025 13:14:28 +0100 Subject: [PATCH 1/2] Add documentation about temporary file location --- .../load-balancing/load-balancing-backoffice.md | 14 ++++++++++++++ .../reference/configuration/hostingsettings.md | 5 +++++ 2 files changed, 19 insertions(+) diff --git a/17/umbraco-cms/fundamentals/setup/server-setup/load-balancing/load-balancing-backoffice.md b/17/umbraco-cms/fundamentals/setup/server-setup/load-balancing/load-balancing-backoffice.md index e02d747d289..85190e5ebf8 100644 --- a/17/umbraco-cms/fundamentals/setup/server-setup/load-balancing/load-balancing-backoffice.md +++ b/17/umbraco-cms/fundamentals/setup/server-setup/load-balancing/load-balancing-backoffice.md @@ -47,3 +47,17 @@ The Umbraco Backoffice uses SignalR for multiple things, including real-time upd ## Background Jobs If you have custom recurring background jobs that should only run on a single server, you'll need to implement `IDistributedBackgroundJob`. See [Scheduling documentation](../../../../reference/scheduling.md#background-jobs-when-load-balancing-the-backoffice) for more information. + +## Temporary File Storage + +When load balancing the backoffice, temporary files uploaded through `/umbraco/management/api/v1/temporary-file`, for instance media uploads, must be accessible across all server instances. + +Temporary files are saved to `umbraco/Data/TEMP/TemporaryFile/` by default. + +**Azure deployments using scale out:** No additional configuration is required, as the `umbraco` folder is shared between instances. + +**Other Environments:** Configure a shared storage location using [the `Umbraco:CMS:Hosting:TemporaryFileUploadLocation` setting.](../../../../reference/configuration/hostingsettings.md#temporary-file-upload-location) + +Ensure this path points to a location accessible by all server instances, such as a shared drive or volume. + +**Advanced Scenarios:** You can implement a custom `ITemporaryFileRepository` for external storage solutions such as Azure Blob Storage. diff --git a/17/umbraco-cms/reference/configuration/hostingsettings.md b/17/umbraco-cms/reference/configuration/hostingsettings.md index 2c0c784cb77..c08bc344843 100644 --- a/17/umbraco-cms/reference/configuration/hostingsettings.md +++ b/17/umbraco-cms/reference/configuration/hostingsettings.md @@ -14,6 +14,7 @@ A full configuration with default values can be seen here: "Hosting": { "ApplicationVirtualPath": "/", "LocalTempStorageLocation": "Default", + "TemporaryFileUploadLocation" "Debug": false, "SiteName" } @@ -36,6 +37,10 @@ Options: * Default * EnvironmentTemp +### Temporary file upload location + +This setting specifies the location of the temporary uploaded files, for instance when uploading files in the media section. The `umbraco/Data/TEMP/TemporaryFile/` folder is used it not specified. + ### Debug This setting allows you to run Umbraco in debug mode, by setting the value to true. From d4f7736ba4991b64fc3ce7d263ac6d61cd79f789 Mon Sep 17 00:00:00 2001 From: Esha Noronha <82437098+eshanrnh@users.noreply.github.com> Date: Tue, 4 Nov 2025 15:28:18 +0100 Subject: [PATCH 2/2] Update 17/umbraco-cms/reference/configuration/hostingsettings.md --- 17/umbraco-cms/reference/configuration/hostingsettings.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/17/umbraco-cms/reference/configuration/hostingsettings.md b/17/umbraco-cms/reference/configuration/hostingsettings.md index c08bc344843..d999040f0eb 100644 --- a/17/umbraco-cms/reference/configuration/hostingsettings.md +++ b/17/umbraco-cms/reference/configuration/hostingsettings.md @@ -39,7 +39,7 @@ Options: ### Temporary file upload location -This setting specifies the location of the temporary uploaded files, for instance when uploading files in the media section. The `umbraco/Data/TEMP/TemporaryFile/` folder is used it not specified. +This setting specifies the location of the temporarily uploaded files, for instance, when uploading files in the media section. The `umbraco/Data/TEMP/TemporaryFile/` folder is used if not specified. ### Debug