> For the complete documentation index, see [llms.txt](https://docs.norrnext.com/norrcompetition/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.norrnext.com/norrcompetition/remote-storage/general-information.md).

# General Information

Overview of remote cloud storage architecture and media synchronization in NorrCompetition.

### Overview

NorrCompetition includes built-in support for **Remote Cloud Storage**, allowing you to offload uploaded participant entry images and thumbnails directly to external object storage services (such as **Amazon Web Services S3**).

This architecture is powered by [Flysystem](https://flysystem.thephpleague.com/) filesystem abstraction, providing high scalability, lower local server disk consumption, and seamless CDN integration.

***

### How Remote Storage Works

1. **Upload & Processing**: When a contestant or administrator submits an entry image, NorrCompetition processes all configured thumbnail sizes (original, large, medium, small, square) and formats (JPEG, WebP, AVIF).
2. **Asynchronous / Save Synchronization**: The generated media files are immediately synced to your configured remote bucket via the active Flysystem storage provider plugin.
3. **Resilient Fallback Handling**:
   * The component checks for local asset availability first; if a file has been offloaded or moved, it seamlessly resolves to the remote cloud storage URL.
   * If a transient network glitch prevents immediate sync during upload, NorrCompetition automatically verifies and completes missing file syncs when administrators browse entries in the backend.

***

### Getting Started with Remote Storage

To enable remote cloud storage:

1. **Enable Storage Handler in Options**: Navigate to **NorrCompetition > Options > General tab**, locate the **Storage Handler** parameter, and select your remote filesystem provider (e.g. `Flysystem AWS S3`).
2. **Install & Configure the Storage Provider Plugin**: Install and publish the corresponding Flysystem storage plugin, such as [AWS S3](/norrcompetition/remote-storage/aws-s3.md) (`plg_flysystem_ncaws`), and provide your bucket credentials and region.
