Supabase Storage now supports the S3 protocol
S3 protocol support & interoperability
- Supabase Storage now exposes an S3‑compatible API, so existing S3 tools (e.g., DuckDB, ClickHouse, CDNs, other S3-compatible storages) can work against it.
- It’s positioned as an “accessibility layer” in front of an S3‑compatible backend, not as a new underlying storage engine.
- Self‑hosters can point it at MinIO or any S3‑compatible store; the hosted service currently uses AWS S3 but “bring your own S3” is planned.
Architecture & capabilities
- Files are stored in S3; only metadata lives in Postgres, enabling SQL queries and Postgres RLS‑based access control.
- The storage layer adds image transforms, caching, cache‑busting, multipart uploads, multiple protocols, and metadata management.
- Atomic, transactional updates across multiple files are not supported; this is left to application logic.
- Static website hosting is not a goal beyond serving HTML under custom domains.
Data science & parquet use cases
- Users highlight querying Parquet directly from Supabase Storage via DuckDB using the S3 API.
- Supabase hints at workflows like dumping Postgres tables to Parquet in Storage and analyzing them with external engines.
Missing / upcoming features
- S3‑style presigned URLs are not yet supported in the S3 interface, though Supabase has its own signed URLs in the standard API and plans to add S3‑equivalent presigning.
- Direct per‑object metadata support is missing and called out as a major gap; it’s stated to be high priority.
- S3 event notifications are not supported; similar behavior can be emulated with database webhooks on the Storage metadata tables.
Performance & pricing
- For uploads, multipart via S3 is fastest for large files (>50 MB, especially >500 MB). For small files (~≤5 MB) differences are minimal; very tiny file benchmarks are “to be checked.”
- Files are served through a built‑in CDN. There is no per‑request pricing; egress is $0.10/GB, which some see as uncompetitive vs B2/R2. Supabase says this is a pass‑through of AWS costs and plans to deploy on other clouds (including Fly.io).
Self‑hosting, openness, and vendor risk
- All components are available as Docker images; Supabase states self‑hosting is fully featured, with configuration via env/docker‑compose and migrations via the CLI.
- Some users report self‑hosting as “challenging” and “neutered” (missing reports, multiple projects, GUI quirks); Supabase disputes this, clarifying that some “missing” items are just configured differently or already present.
- There is visible anxiety about VC backing and potential acquisition/enshittification (drawing parallels to Firebase, Heroku, others). Supabase reiterates no current plans to sell, founder control of the board, and a commitment to open‑source licenses, while acknowledging they cannot guarantee the future.
Ecosystem & standards discussion
- Commenters note the odd but practical status of the proprietary S3 API as a de facto industry standard; “S3‑compatible” is described as a sliding window requiring clear compatibility matrices.
- Supabase documents exactly which S3 APIs it supports and explicitly does not aim for AWS‑specific functionality.