All help articles
Your videos

Connect your own bucket

Keep recordings in an S3 bucket your company controls: which providers work, what to enter, the CORS policy, and what Capme deletes there.

Updated October 6, 2026

Your own bucket is part of Business and Enterprise, and of a Business trial. Only the workspace owner can set it up: in Workspace → Data, in the Storage section, choose Your own S3-compatible bucket, fill in the fields below, set the CORS policy, test and save. Videos recorded before stay on Capme hosting and keep playing. Where your videos live explains what changes once you use one.

Which providers work

Amazon S3, Hetzner Object Storage, Cloudflare R2, DigitalOcean Spaces. The endpoint has to be an https address of one of these providers; Capme refuses any other host, including a custom domain. Write to hello@capme.app if you need another provider.

What to enter

  • Endpoint, region and bucketFrom your provider. If your provider has no regions, enter auto or leave the region empty.
  • Access key ID and secret access keyA key that may list the bucket and read, write and delete objects in it.
  • Public base URLLeave it empty, and Capme signs every playback link. Fill it in only for a public bucket, with an address on your provider's host.
  • Path-style addressingTurn it on for Hetzner. AWS doesn't need it.

Capme's server uses the key to start and finish uploads, sign playback links, store each still image, and check and delete files. The video itself never passes through Capme.

Set the CORS policy

Browsers upload straight to your bucket, so the bucket has to allow requests from Capme. The Storage section shows the policy under Bucket CORS, with Capme's address filled in. Copy it into your bucket's CORS settings unchanged. Without the ETag header in it, every upload fails.

Test, then save

Press Test connection. You can save once all four steps pass. If one fails:

  • Reach the bucketCheck the endpoint, region and bucket name, and that the key may list the bucket.
  • Write a test fileThe key may not write to the bucket.
  • Read it back with a signed linkThe key may not read, or the region is wrong.
  • Delete it againThe key may not delete.

The test runs on Capme's server, so it can't check CORS. If it passes and uploads still fail, check the CORS policy first.

What Capme deletes in your bucket

Capme deletes a recording's files from your bucket only when someone deletes that recording in Capme. If the bucket can't be reached then, Capme tries again later.

Everything else stays, including the old file when someone records a topic again. When the workspace is deleted, every file stays, and Capme removes the bucket settings and the key.

Let old recordings expire

Capme sets no retention window in your bucket. If recordings should go after a while, add a lifecycle rule to the bucket; the Storage section has an example under Retention in your bucket that deletes files after 365 days. When a file is gone, Capme notices within a night or two and takes the recording out of its meetings.

Going back to Capme hosting

Choose Capme video hosting in the Storage section and save. New recordings then go to Capme. The bucket settings and the key stay saved, so the videos in your bucket keep playing.

Still stuck? Write to hello@capme.app.