https://<project-ref>.storage.supabase.co/storage/v1/s3, signed with AWS Signature V4 using Supabase S3 Access Keys (not your project anon / service-role JWT). MIRAGE derives the endpoint from your project_ref automatically and forces path-style URLs.
Credentials
1. Create an S3 access key
- Open the Supabase dashboard → your project → Storage → Settings → S3 Access Keys
- Click New access key, scope to the bucket(s) you want MIRAGE to see
- Copy the Access key ID and Secret access key, the secret is shown once
2. Environment variables
Node (server-side)
Config
Fields marked secret are redacted in snapshots.
Browser (presigned URLs)
presignedUrlProvider callback that hits your server, which signs each S3 operation against the Supabase endpoint and returns the URL. The browser fetch()es directly.
Config
Fields marked secret are redacted in snapshots.
1. Server: sign URLs with the Supabase endpoint
2. Browser: wire it up
3. Configure CORS on the bucket
Supabase Storage’s S3 API respects the bucket’s CORS configuration, which is set in the Supabase dashboard:- Project → Storage → Settings → Policies / CORS configuration
- Add
http://localhost:5173(and any production origins) - Methods:
GET, PUT, HEAD, DELETE, POST - Headers:
* - Exposed headers:
ETag, Content-Length, Content-Type, Last-Modified
write: conditional on this provider, see S3-compatible stores.
VFS.md
The VFS.md an agent reads with Supabase Storage mounted at/<path>.
- Rendered
- Raw