Store audiobooks on Cloudflare R2
Updated October 27, 2026
Cloudflare R2 is S3-compatible storage without fees for downloaded traffic, and up to 10 GB is free to store. Berth connects to it with a wizard: from one API token it creates the bucket, the S3 keys and the CORS rule.
Why R2 suits audiobooks
Audiobooks are large and listened to many times. With R2, phones download from storage without traffic fees, and a small home server or VPS only answers short API requests.
Connect R2 with the wizard
Berth checks the token, creates the bucket (an existing one is fine), sets CORS for your server addresses, derives the S3 keys from the token and runs the connection check. Then make R2 the default storage so new books go there.
- In the Cloudflare dashboard create an API token with the “Workers R2 Storage: Edit” permission (Profile → API Tokens).
- Copy the Account ID from the R2 page of the dashboard: 32 hexadecimal characters.
- In the Berth admin open the storage settings and choose “Cloudflare R2”.
- Paste the Account ID and the token, keep the bucket name
berthor enter your own, and press “Connect”.
The bucket name must be 3–63 characters: lowercase letters, digits and hyphens, not starting or ending with a hyphen.
Optional: a custom domain or CDN
The wizard sets up direct signed links, which is enough for most families. If you attach a custom domain to the bucket in Cloudflare, you can switch the storage to “Through a CDN” and enter that domain as the CDN address. Note that unsigned CDN links do not expire. Details on delivery modes: S3 storage.
Questions
How much does R2 cost for an audiobook library?
Up to 10 GB of storage is free and downloads have no traffic fees. Above that, Cloudflare charges for stored data and operations according to its current price list.
Can I use R2 without the wizard?
Yes, as a regular S3 bucket: the “Cloudflare R2” preset fills in the endpoint https://ACCOUNT_ID.r2.cloudflarestorage.com, region auto and path-style addresses.