Hi everyone,
We are in the planning phase of a new Umbraco 17 setup and would like advice on the best solution for our scenario before we start building.
Our requirements:
-
The site will run in Docker containers, and we must support horizontal scaling (multiple instances).
-
Backoffice will run as a single instance in Docker.
-
Frontend (headless) will run as multiple scalable containers.
-
Cloud storage (Azure Blob, AWS S3, etc.) is not allowed due to organisational restrictions.
-
Media, logs, and similar persistent assets must be stored on a dedicated on-prem VM.
-
We want the system to be stable, scalable, and compatible with Umbraco’s media cropper.
Since cloud storage is not an option, we are evaluating the idea of using a separate VM as a media server and mounting it into the containers, or implementing a custom IFileSystem that writes to this VM via SMB/UNC or an API.
Before committing, we would like guidance on:
-
What is the recommended approach for media storage when running Umbraco in Docker with scaling, but cloud storage is not possible?
-
Is running a dedicated Media Server VM (accessed by all containers) a practical pattern?
-
If we implement a custom
IFileSystem:-
Are there examples for pointing Umbraco’s media to a remote VM?
-
Will Umbraco image crops still work correctly in this setup?
-
-
Are there known pitfalls with shared media storage in scaled Docker environments (locking, latency, permissions)?
-
Any alternative patterns used by others who run on-premise, Docker, and no cloud?
We want to make sure the architecture is future-proof and aligned with Umbraco best practices. Any suggestions or prior experiences would be really helpful.