STORAGE_PROVIDER to switch between them. All backends enforce the same MAX_FILE_SIZE_MB limit and expose the same upload and download behaviour to the rest of the application.
- Local (default)
- Amazon S3
- MinIO
- Cloudflare R2
Local storage
Files are written to the container’s filesystem underUPLOAD_DIR. This is the default and requires no additional configuration.When to use: Small self-hosted installations where you control the server and don’t need to share storage across multiple instances.What to watch out for: Files stored on the local filesystem are lost if the container is removed. Always mount a Docker volume at the upload directory path.Required variables
Docker run
Docker Compose
The volume mount path in your Compose file (
/app/uploads) must match the value of UPLOAD_DIR inside the container. The default UPLOAD_DIR resolves to /app/uploads in the production image.Upload size limit
TheMAX_FILE_SIZE_MB variable controls the maximum size of a single upload. It applies to all storage backends.
50 MB. Set it to a higher value if your clients regularly upload large files such as design assets or video deliverables.