Skip to content

S3-Compatible Storage Setup Guide

The S3-Compatible provider connects Blober to any storage that speaks the Amazon S3 protocol. 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

Anything that exposes an S3-compatible API, including:

  • MinIO - the most common self-hosted S3 server (great for local testing)
  • Ceph / RADOS Gateway
  • Storj, Tigris, Garage, SeaweedFS
  • Hetzner Object Storage, Scaleway Object Storage, OVHcloud
  • IDrive e2, Telnyx Storage, Akamai (Linode) Object Storage
  • Any self-hosted or on-premise S3 server on your own network
  • A server running on your own machine for local testing (e.g. http://localhost:9000)
  • ✅ Browse buckets and objects
  • ✅ Upload files (multipart for large files)
  • ✅ Download files
  • ✅ Delete objects
  • ✅ Copy/move objects
  • ✅ Virtual-hosted and path-style addressing
  • ✅ Single-bucket or full-account access

  • Option key: endpoint
  • Enter your endpoint URL in one of two fields - your choice sets the addressing style automatically:
    • Virtual-hosted endpoint URL - for most hosted providers. The bucket is read from the hostname (https://bucket.endpoint). Enter the host only.
    • Path-style endpoint URL - for MinIO, Ceph, and most self-hosted or local servers. The bucket is part of the URL path (https://endpoint/bucket). Use this if uploads or browsing fail against your own server.
  • The scheme is optional (use http:// for a local test server). Do not include the bucket name here.
  • Examples: https://s3.us-east-1.example.com (virtual-hosted), http://localhost:9000 (path-style)

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

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

  • Option key: bucket
  • 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.

  • Option key: region
  • 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.

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
  3. 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-hosted endpoint URL field, enter the keys, and browse.

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 virtual-hosted. MinIO, Ceph, and most on-premise servers require path-style.

"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 should be the service host only (no bucket, no object path). Include https:// for secure endpoints, or http:// for a local test server.