S3 Configuration

Configure S3 or S3-compatible storage for StreamHouse.

5 min readStorage

Amazon S3

For production deployments, Amazon S3 is the recommended storage backend. StreamHouse uses the AWS SDK and supports all standard authentication methods.

bash
# Environment variables for AWS S3
export S3_BUCKET=streamhouse-production
export S3_REGION=us-east-1
export AWS_ACCESS_KEY_ID=AKIA...
export AWS_SECRET_ACCESS_KEY=...

# Or use IAM roles (recommended for EC2/EKS)
# No credentials needed - the SDK auto-discovers IAM roles

MinIO (Local Development)

MinIO provides S3-compatible storage for local development and testing. Set the S3_ENDPOINT to point to your MinIO instance.

bash
export S3_BUCKET=streamhouse
export S3_ENDPOINT=http://localhost:9000
export S3_ACCESS_KEY=minioadmin
export S3_SECRET_KEY=minioadmin
export S3_FORCE_PATH_STYLE=true

Bucket Configuration

StreamHouse requires specific S3 bucket permissions and recommends certain configurations for optimal performance.

  • Required permissions: s3:GetObject, s3:PutObject, s3:ListBucket, s3:DeleteObject
  • Enable S3 Transfer Acceleration for cross-region deployments
  • Use S3 Intelligent-Tiering for automatic cost optimization on older segments
  • Configure lifecycle rules to transition old segments to S3 Glacier if long retention is needed