·10 min read

S3 Storage Setup Guide: Stream Music & Videos from Backblaze B2, AWS, Cloudflare R2, Google Cloud Storage

Cloudist now supports S3-compatible cloud storage — connect your Backblaze B2, AWS S3, Cloudflare R2, Google Cloud Storage, Wasabi, MinIO, or any S3-compatible service and stream your music and videos directly from your buckets.

This guide walks you through everything you need to know about setting up S3 storage with Cloudist Play (music) and Cloudist Watch (video).

What is S3 Storage?

Amazon S3 (Simple Storage Service) is the industry standard for object storage. Many providers offer S3-compatible APIs, meaning you can use the same protocol to access storage from different companies. This gives you:

  • Freedom of choice — pick any provider that fits your budget and needs
  • No vendor lock-in — switch providers without changing your setup
  • Cost efficiency — store large media libraries for pennies per GB
  • Self-hosting option — run MinIO on your own server

Supported Providers

Cloudist works with any S3-compatible storage. Here are the most popular options:

ProviderFree TierEgress (Download)Best For
**Backblaze B2**10 GB3x storage/month freeBest free tier
**Cloudflare R2**10 GB/monthUnlimited (free!)Zero egress costs
**AWS S3**5 GB (12 months)100 GB/month freeEnterprise users
**Google Cloud Storage**5 GB (always free)$0.045-$0.085/GBGoogle ecosystem
**Wasabi**None ($6.99/mo min)IncludedHot storage
**MinIO**Self-hostedN/AFull control

Our Recommendation

For most users, Backblaze B2 or Cloudflare R2 offer the best value. B2 gives you 10 GB free storage with generous free egress, while R2 has completely free downloads — ideal for streaming media. If you're already in the Google ecosystem, Google Cloud Storage offers seamless integration with 5 GB always free.

Step-by-Step Setup Guide

Step 1: Create Your S3 Bucket

First, create a bucket on your chosen provider:

Backblaze B2:

  1. Sign up at backblaze.com
  2. Go to BucketsCreate a Bucket
  3. Name it (e.g., my-music) and set it to Private
  4. Note down your Endpoint and Region from bucket details

AWS S3:

  1. Open the S3 Console
  2. Click Create bucket
  3. Choose a region close to you (e.g., us-east-1)
  4. Keep "Block all public access" enabled

Cloudflare R2:

  1. Log in to Cloudflare Dashboard
  2. Go to R2 Object StorageCreate bucket
  3. Note your Account ID from the dashboard URL

Google Cloud Storage:

  1. Open the Cloud Storage Console
  2. Click Create bucket
  3. Choose a region close to you (e.g., us-central1)
  4. Select Standard storage class for frequently accessed media
  5. Keep "Enforce public access prevention" enabled

Step 2: Create Access Keys

You need an Access Key ID and Secret Access Key to connect:

Backblaze B2:

  1. Go to Application KeysAdd a New Application Key
  2. Give it a name, select your bucket, and choose Read Only
  3. Save the keyID (Access Key) and applicationKey (Secret Key)

AWS S3:

  1. Go to IAMUsersCreate User
  2. Attach the AmazonS3ReadOnlyAccess policy
  3. Create an Access Key under Security Credentials

Cloudflare R2:

  1. Go to R2Manage R2 API Tokens
  2. Create a token with Object Read permission for your bucket

Google Cloud Storage:

  1. Go to Cloud StorageSettingsInteroperability
  2. Click Create a key for a service account or use your default account
  3. This generates an HMAC Access Key and Secret Key compatible with S3
  4. For read-only access, assign the Storage Object Viewer role to the service account

Step 3: Upload Your Media Files

Upload your music or video files to the bucket. You can organize them in folders:

my-music/
  Rock/
    song1.mp3
    song2.flac
  Jazz/
    track1.m4a
  Podcasts/
    episode1.mp3

Use your provider's web console, CLI tool, or apps like Cyberduck or rclone to upload files.

Step 4: Connect in Cloudist

  1. Open Cloudist Play or Cloudist Watch
  2. Go to Accounts → tap the + button
  3. Select S3 Storage
  4. Choose your provider preset from the dropdown (Backblaze B2, AWS S3, Cloudflare R2, Wasabi, or Custom)
  5. The Endpoint and Region fields auto-fill based on your preset
  6. Enter your Access Key and Secret Key
  7. Enter your Bucket name
  8. Tap Test & Connect

That's it! Cloudist will scan your bucket and add all supported media files to your library.

How Streaming Works

Cloudist uses pre-signed URLs to stream your media. Here's what that means:

  • When you play a track, Cloudist generates a temporary URL (valid for 1 hour) that grants access to that specific file
  • No authentication headers are needed — the URL itself contains the signature
  • This works seamlessly with audio and video players across all platforms
  • URLs are automatically regenerated when they expire

This approach is both secure (URLs expire quickly) and efficient (no proxy server needed).

Supported File Formats

Cloudist Play (Music):

  • MP3, M4A, WAV, FLAC, AAC, WMA, OGG

Cloudist Watch (Video):

  • MP4, MKV, WebM, AVI, MOV, M4V, FLV, WMV, TS, 3GP

Web App: CORS Configuration

If you use the web app (play.fromcloud.ist or watch.fromcloud.ist), your bucket needs CORS configuration to allow browser access. Here's the CORS policy to add:

[{
  "AllowedHeaders": ["*"],
  "AllowedMethods": ["GET", "HEAD"],
  "AllowedOrigins": ["https://play.fromcloud.ist", "https://watch.fromcloud.ist"],
  "ExposeHeaders": ["ETag", "Content-Length"],
  "MaxAgeSeconds": 3600
}]

Note: CORS configuration is only needed for web playback. Native apps (iOS, Android, macOS) don't require it.

Cost Comparison

Here's what it costs to store and stream a typical music library (1,000 tracks, ~8 GB) with 100 plays per month:

ProviderMonthly Cost
**Backblaze B2**$0.00 (free tier)
**Cloudflare R2**$0.00 (free egress)
**AWS S3**~$0.18
**Google Cloud Storage**$0.00 (free tier)
**Wasabi**$6.99 (minimum)
**MinIO**Server cost only

For a video library (200 videos, ~100 GB) with 50 plays per month:

ProviderMonthly Cost
**Backblaze B2**~$0.50
**Cloudflare R2**~$1.35
**AWS S3**~$4.55
**Google Cloud Storage**~$2.15
**Wasabi**$6.99 (minimum)

Tips & Best Practices

  • Use read-only keys — Cloudist only needs to read files, never write. Create keys with minimum permissions
  • Organize with folders — Use a clear folder structure. Cloudist preserves your folder hierarchy for easy browsing
  • Choose a nearby region — Pick a storage region close to your location for faster streaming
  • Backblaze B2 + Cloudflare — If you use B2 with Cloudflare CDN, egress between them is completely free (Bandwidth Alliance)
  • MinIO for self-hosting — Run MinIO on a Raspberry Pi or NAS for a fully private, self-hosted media server

Frequently Asked Questions

Do my credentials get uploaded anywhere?

No. Your S3 access keys are stored only on your device using secure local storage. They are never sent to Cloudist servers or stored in the cloud.

Can I connect multiple S3 accounts?

Yes. You can add as many S3 storage accounts as you want — mix different providers, buckets, or regions.

Does it work offline?

Yes. You can download tracks for offline playback. Downloaded files are stored locally on your device.

What happens if my pre-signed URL expires?

Cloudist automatically generates a new URL when needed. You won't notice any interruption during playback.

Get Started

Download Cloudist and connect your S3 storage today:

We use cookies to analyze site traffic and improve your experience. No personal data is collected.