User Settings Main Page -> S3 Storage Settings

S3 Storage Settings

Summary

This page helps you set up and manage your personal S3-compatible storage for direct file uploads and downloads. You can enable or disable the use of your own S3 storage, choose from various providers like AWS S3, Cloudflare R2, DigitalOcean Spaces, Backblaze B2, IONOS S3, or use a custom URL. You will input your S3 service details such as the bucket name, region, access key, and secret key. The page also guides you through configuring essential security settings (CORS) to ensure seamless file transfers, validating your connection and CORS policy in real-time.

Page Access

You can access this page by navigating to: /user_s3

Page Functionalities

Enable/Disable S3 Storage

A switch that allows you to turn on or off the use of your own S3-compatible storage. When enabled, you can configure your storage details. When disabled, your custom S3 settings will be cleared and the awaBerry Cloud will handle all file transfers.

Select S3 Provider

A dropdown menu to choose your S3 storage provider:

  • Custom URL (Other S3-compatible): Use this option for MinIO and other S3-compatible services by providing a custom S3 endpoint URL.
  • AWS S3: For Amazon Web Services S3.
  • Cloudflare R2: For Cloudflare R2 storage. You'll need to enter your Cloudflare Account ID, which will then generate the S3 URL.
  • DigitalOcean Spaces: For DigitalOcean Spaces. You'll select your region from a dropdown, which will then generate the S3 URL.
  • Backblaze B2: For Backblaze B2. You'll enter your Backblaze B2 Endpoint URL directly.
  • IONOS S3: For IONOS S3.

S3 URL (Endpoint)

This is the web address for your S3 storage service. For 'Custom URL' or 'Backblaze B2', you enter it directly. For 'Cloudflare R2' and 'DigitalOcean Spaces', it's automatically generated after you provide the account ID or select a region, respectively.

Bucket Name

The unique name of your storage bucket within your S3 provider.

Region

The geographical location where your S3 bucket is hosted (e.g., us-west-1). This is often required for services like AWS S3.

Access Key

Your public identifier for accessing your S3 storage.

Secret Key

Your private key for authenticating with your S3 storage. This key will be encrypted and stored securely using your two-factor authentication.

How to Setup S3 Link

A link titled "How to setup own S3 for data upload and download" provides access to a FAQ page with detailed instructions on setting up your S3 storage.

"Verify and Save" / "Save" Button

After entering your S3 details, click the "Verify and Save" button to check if your credentials are correct and save your configuration. If you disable S3 storage, this button becomes "Save" to confirm that you do not wish to use your own S3 storage.

Connection Test Result

After clicking "Verify and Save", the system will indicate if your S3 credentials are valid.

  • Success: A green message "S3 credentials are valid" will appear.
  • Error: A red error message like "S3 connection test failed" or a more specific error will be shown if the connection could not be established.

Permission Setup (CORS) Section

This section appears after successful credential verification and provides instructions for configuring Cross-Origin Resource Sharing (CORS) policies on your S3 bucket. CORS is essential for allowing your web browser to directly upload and download files to your S3 storage without security restrictions.

  • How to Setup CORS Link: A link titled "How to setup own permissions for S3 based browser file up / download" leads to a FAQ specifically for setting up CORS.
  • CORS Policy Examples: Specific JSON policy examples are provided for AWS S3 and Cloudflare R2, along with a "Copy to clipboard" button for easy configuration. For other providers, general guidance is given.
  • "Test CORS" Button: Click this button to verify if your CORS policy is correctly configured.
  • CORS Test Result:
    • Success: A green message "CORS configuration is valid" will appear, indicating that your S3 storage can now handle file uploads and downloads without any size limits.
    • Error: A red "CORS test failed" message will appear. This means file uploads/downloads will be limited to 50 MB as they are proxied through the awaBerry Cloud until CORS is fixed.

Scenario Executions

Possible usage steps within this page

1. Setting up AWS S3 Storage:

  1. First, enable the "Enable/Disable S3 storage" switch.
  2. From the "Select S3 Provider" dropdown, choose "AWS S3".
  3. Enter your unique "Bucket Name", the "Region" where your bucket is located (e.g., us-east-1), your "Access Key", and your "Secret Key" into the respective fields.
  4. Click the "Verify and Save" button.
  5. If your credentials are correct, you will see a green message "S3 credentials are valid".
  6. Now, follow the instructions in the "Permission setup (CORS)" section for AWS S3 to configure your bucket's CORS policy. You can copy the provided policy directly.
  7. Once you have configured CORS in your AWS S3 bucket, click the "Test CORS" button on this page.
  8. If successful, you will see "CORS configuration is valid" and "Your configured S3 storage can now be used for file uploads and downloads without any size limits."
  9. Your S3 storage is now fully set up for direct file transfers!

2. Disabling Custom S3 Storage:

  1. If you no longer wish to use your own S3 storage, simply turn off the "Enable/Disable S3 storage" switch.
  2. Click the "Save" button.
  3. Your custom S3 settings will be cleared, and all file uploads and downloads will revert to using the awaBerry Cloud, subject to its default size limits.

Possible errors which may occur on this page

1. Invalid S3 Credentials (Connection Test Failed):

  • Error: After clicking "Verify and Save", you might see a red "S3 connection test failed" message.
  • Why it happens: This typically occurs if your "Access Key" or "Secret Key" are incorrect, your "S3 URL" is wrong, or the "Bucket Name" or "Region" doesn't match your S3 setup. The system cannot establish a connection to your S3 storage.
  • How to fix: Double-check all your entered credentials against your S3 provider's settings. Ensure there are no typos, and that the keys have the necessary permissions.

2. CORS Configuration Not Valid (CORS Test Failed):

  • Error: After successfully verifying your S3 credentials, clicking "Test CORS" results in a red "CORS test failed" message.
  • Why it happens: This means your S3 bucket's Cross-Origin Resource Sharing (CORS) policy is not correctly set up. Even if your S3 credentials are valid, the browser is prevented from directly interacting with your S3 bucket due to security restrictions.
  • How to fix: Carefully review the CORS policy instructions provided on this page for your specific S3 provider (e.g., AWS S3, Cloudflare R2). Ensure you have copied the policy accurately and applied it to your S3 bucket's CORS settings. You may also consult the "How to setup own permissions for S3 based browser file up / down" FAQ for detailed guidance. Until CORS is correctly configured, file uploads and downloads will be limited to 50 MB as they are proxied through the awaBerry Cloud.