Skip to content

Object Storage

enum Object Storage is a fully S3-compatible storage service operated in Frankfurt, Germany. It works with any S3 client, SDK, or tool and is a drop-in replacement for AWS S3 with European data sovereignty.

Endpointfra.s3.enum.cloud
ProtocolHTTPS
Bucket addressingSubdomain-style: <bucket>.fra.s3.enum.cloud
  1. Create a storage user in your project. Access keys are returned immediately:

    Terminal window
    enumctl storage users create --display-name my-app
  2. Configure your S3 client with the access key, secret key, and the endpoint https://fra.s3.enum.cloud.

See the CLI reference for all available storage commands.

Add a profile to ~/.aws/config:

[profile enum]
endpoint_url = https://fra.s3.enum.cloud

Set your credentials in ~/.aws/credentials:

[enum]
aws_access_key_id = <your-access-key>
aws_secret_access_key = <your-secret-key>

Then use the profile:

Terminal window
aws s3 ls --profile enum
aws s3 cp file.txt s3://my-bucket/ --profile enum

Alternatively, pass the endpoint per command without a profile:

Terminal window
aws s3 ls --endpoint-url https://fra.s3.enum.cloud

Default quotas are applied to every new project and bucket. These protect the shared cluster from runaway usage while staying compatible with standard S3 client behavior.

LimitDefault
Storage10 TiB
Buckets100
LimitDefault
Projects3
LimitDefault
Read ops/s5,500
Write ops/s3,500

These limits follow the S3 standard and are not customized. They apply to all accounts equally.

LimitValue
Maximum object size5 TiB
Maximum single PUT size5 GiB
Multipart upload part size5 MiB - 5 GiB
Maximum parts per multipart upload10,000
Object count per bucketUnlimited
  • Versioning to protect against accidental overwrites and deletions
  • Lifecycle policies to automate object expiration and transition rules
  • Server-Side Encryption (SSE) with AES-256 encryption at rest for all objects
  • CORS for cross-origin resource sharing rules per bucket
  • Object Lock for WORM-compliant immutable storage, compliance, and ransomware protection
Durability99.9999999% (9 nines)
Availability SLA99.9%
RedundancyErasure coding across failure domains
Encryption at restAES-256
Encryption in transitTLS
Data locationFrankfurt, Germany