Skip to content
WildKite
Get started
General setup Updated June 08, 2026 15-25 min

Connect any S3-compatible bucket to WildKite

Connecting a provider that isn't R2 or B2 — AWS S3, MinIO, DigitalOcean Spaces, Wasabi, Aliyun OSS, Tencent COS, Qiniu, and more — with one checklist that works for all of them.

Before you start

  • A storage bucket from a provider that supports the common S3 standard.
  • A key (an ID and a secret) that can read and write files in that bucket.
  • Your provider's web address for the bucket (the endpoint) and its region name.

You will finish with

  • Your bucket connected with a single, tightly-scoped key.
  • A reusable checklist that works the same way for any S3-compatible provider.
  • A clear place to look when a connection, upload, or playback doesn't work.

How this works, in one breath

Your media files live in your bucket and stay there. WildKite never holds your files — when you upload, browse, or play, it just hands your device a short-lived, single-use link straight to your bucket, and the file moves directly between the two. WildKite only keeps the small details it needs to show your library: titles, durations, cover thumbnails, and the like.

Most providers offer the same handful of building blocks under slightly different names. This guide maps those names to WildKite's connection form so you can fill it in once, for whatever provider you use.

What WildKite needs from your provider

Open your provider's storage dashboard and have these values ready. WildKite needs just enough to find your files, create those short-lived play links, and save the small extras it makes for you, like thumbnails for videos and waveform pictures for audio.

WildKite field Value Why it matters
Provider Pick your provider from the list Choose your storage service (AWS S3, MinIO, Aliyun OSS, and so on). This fills in sensible defaults for the rest.
Endpoint Your provider's web address for S3 access (starts with https://) Most non-AWS providers give you this in their docs or dashboard. Leave it blank only when you're on AWS S3's standard addresses.
Region Your provider's region name, or "auto" Use exactly what your provider tells you. Some use a region built into the endpoint; some use "auto".
Bucket The exact name of your bucket Just the name, not a full web address.
Prefix Optional folder name, such as media/ Use this to keep WildKite working inside one folder of a bucket you also use for other things. Leave blank to use the whole bucket.
Access Key ID The ID half of your access key Some providers call it keyID, Application Key ID, or just Access Key. It's the public, non-secret half.
Secret Access Key The secret half of your access key Some providers call it secret key or Application Key. Shown only once when you create the key, so copy it right away.

Give WildKite the least access it needs

The safest setup is one key that can only touch this one bucket (or one folder inside it), and can read and write the files there. That's all WildKite needs.

Some providers also need permission to list what's in the bucket so the connection test and library scan can work. If you take that away entirely, you may still be able to save the connection, but browsing and troubleshooting get harder.

  • Limit the key to a single bucket when your provider allows it.
  • Limit it to a folder (prefix) when you're sharing a bucket with other apps.
  • Don't use an admin or account-wide key for everyday access.
  • Make a fresh key and retire the old one if a teammate leaves, or if a secret ends up in a screenshot or log.

Set it up, step by step

  1. Create a private bucket

    Your bucket does not need to be public. Keep it private unless you have a separate reason to publish files openly.

  2. Create a scoped key

    Make a key that can read and write files in just this bucket, or just the folder you'll point WildKite at.

    Copy the secret half right away — most providers show it only once.

  3. Write down the endpoint and region together

    These two usually have to match for your provider to accept the connection, so record them as a pair.

  4. Test the connection

    In WildKite, use Test connection before you build a large library, so you catch any typo early.

  5. Upload one small file

    Once the test passes, upload a small audio or video file to confirm that uploading, browsing, and playback all work end to end.

Browser uploads and the CORS setting

When you upload from a web browser, the file goes straight from your browser to your bucket. Many providers won't allow that until you add a CORS rule — a bucket setting that says which websites are allowed to upload directly to it.

Playing media and loading thumbnails usually works without any extra setup. If your browser blocks an upload or won't play something, start with the CORS suggestion shown on the storage connection's edit page in WildKite — it spells out exactly what to add.

Don't allow every website by default

Allowing all websites is handy while you test, but for everyday use, allow only the WildKite addresses you actually use.

When something doesn't work

What you see Check this first Then check this
Connection times out The endpoint address, and that your network can reach it A provider firewall or private network, or a typo in the region
Sign-in to the bucket fails The Access Key ID and secret are correct and not swapped The region matches what the provider expects
Access denied The key is allowed to read and write this bucket The folder (prefix) actually contains the file being requested
Upload won't finish The bucket's CORS rule allows uploads from your browser The file type was sent along with the upload
Browsing finds no files The library's folder (prefix) points where your files actually are The files are types WildKite can play

Questions

Can I use MinIO, or a bucket on my own server?

Yes. As long as WildKite can reach your server over the internet and it speaks the common S3 standard, it connects the same way as any hosted provider.

Can I reuse a bucket another app already uses?

You can, if you point WildKite at its own folder (a prefix) and use a key limited to that folder. A separate bucket is simpler, though, and keeps permissions and deletions from getting tangled.

Which providers work?

Any provider that supports the common S3 standard — AWS S3, MinIO, DigitalOcean Spaces, Wasabi, Aliyun OSS, Tencent COS, Qiniu, and others. R2 and B2 work too and have their own dedicated guides. For pricing and limits, check the provider's own site.