Skip to content

S3-Compatible Storage Setup Guide

The S3-Compatible provider connects Blober to storage services that speak the common Amazon S3 protocol operations Blober uses. Instead of picking a named provider, you enter the service's endpoint URL and access keys - so a single provider covers the long tail of S3-compatible services, self-hosted servers, and local test setups.

Path format:

bucket-name/path/to/file.ext

Most services that expose an S3-compatible API for common bucket and object operations. That covers a long tail of services across several categories:

  • Cloud object storage - Alibaba OSS, Tencent COS, Huawei OBS, IBM COS, Oracle OCI, Google Cloud Storage, Yandex, and more.
  • Object storage specialists - Storj, IDrive e2, Cubbit, Impossible Cloud, Seagate Lyve Cloud, Synology C2, MEGA S4, Tebi, Tigris, and more.
  • Hosting and VPS storage - Linode/Akamai, Vultr, OVHcloud, Hetzner, Scaleway, Contabo, Exoscale, IONOS, and more.
  • Self-hosted and open source - MinIO (the common local-testing server), Ceph / RADOS Gateway, SeaweedFS, Garage, Zenko, Versity Gateway, and more.
  • Enterprise and on-premises - NetApp StorageGRID, Dell ECS, Cloudian, Pure FlashBlade, Hitachi HCP, Scality, Zadara, and more.
  • Any self-hosted or on-premise S3 server on your own network, or a server on your own machine for local testing (e.g. http://localhost:9000).

For the full roster with endpoint formats and setup notes, see The Complete List of S3-Compatible Storage Providers.

Compatibility note: S3-compatible does not mean feature-identical to AWS S3. Browse, upload, download, delete, and normal copy workflows are the target; advanced behavior such as object lock, lifecycle policies, server-side copy, checksums, and metadata can differ by provider.

  • ✅ Browse buckets and objects
  • ✅ Upload files (including large files)
  • ✅ Download files
  • ✅ Delete objects
  • ✅ Copy/move objects
  • ✅ Both addressing styles - virtual-hosted (https://my-bucket.s3.example.com) and path-style (http://localhost:9000/my-bucket)
  • ✅ Single-bucket or full-account access

Enter your endpoint URL in one of two fields - your choice sets the addressing style automatically:

  • Virtual-host endpoint URL - for virtual-hosted-style S3 addressing, common with hosted providers. The bucket name is added to the hostname as a subdomain (so https://s3.example.com becomes https://my-bucket.s3.example.com). Enter the host only.
  • Path-style endpoint URL - for path-style S3 addressing, common with MinIO, Ceph, and many self-hosted or local servers. The bucket name is added to the URL path (so http://localhost:9000 becomes http://localhost:9000/my-bucket). Use this if uploads or browsing fail against your own server.

Include the scheme (https://, or http:// for a local server) and enter the host only - no bucket, no path.

  • Examples: https://s3.us-east-1.example.com (virtual-hosted), http://localhost:9000 (path-style)

  • Where to find: Your provider's console, under access keys / service accounts.

  • Where to find: Shown once when you create the access key. Store it safely.

  • Default: empty (browse every bucket the keys can list)
  • Set a single bucket to scope Blober to just that bucket. Required if your keys are restricted and cannot list all buckets - a common setup for migration keys.

  • Default: us-east-1
  • Most S3-compatible servers ignore the region, so the default is usually fine. Set it only if your provider documents a specific region.

  • Default: STANDARD
  • The storage tier for uploaded files. STANDARD is the safest default for ordinary S3-compatible uploads. Some providers also offer tiers like STANDARD_IA or GLACIER, or their own class names - set one only if your provider documents it. Applies when this provider is the destination.

MinIO (self-hosted or local testing)

Section titled "MinIO (self-hosted or local testing)"
  1. Start MinIO (for a quick local test, the default keys are minioadmin / minioadmin).
  2. In Blober, add an S3-Compatible source or destination and enter:
  • Path-style endpoint URL: http://localhost:9000 (or your server's URL)
  • Access Key ID / Secret Access Key: your MinIO credentials
  • Bucket: optional - leave empty to see all buckets
  1. Browse to confirm the connection.
  1. Create access keys in the provider's console.
  2. Copy the S3 endpoint URL from their docs (e.g. https://s3.region.provider.com).
  3. In Blober, put the endpoint in the Virtual-host endpoint URL field, enter the keys, and browse.

Filebase documents both virtual-hosted and path-style S3 addressing [1]:

  • Virtual-host endpoint URL: https://s3.filebase.io gives object URLs like https://<bucket-name>.s3.filebase.io/<object-key>.
  • Path-style endpoint URL: https://s3.filebase.io gives object URLs like https://s3.filebase.io/<bucket-name>/<object-key>.

Use the addressing style your Filebase workflow or toolchain expects; both point at the same S3 service host.

Uploads or browsing fail on a self-hosted server

Section titled "Uploads or browsing fail on a self-hosted server"

Use the Path-style endpoint URL field instead of the virtual-host one. MinIO, Ceph, and most on-premise servers require path-style addressing.

"Access Denied" when browsing buckets

Section titled ""Access Denied" when browsing buckets"

Your keys may be scoped to one bucket and not allowed to list all buckets. Enter that bucket in the Bucket name field.

Re-check the endpoint URL. It must include the scheme (https://, or http:// for a local server) and be the service host only - no bucket, no object path.