Object Storage
S3-compatible buckets for backups, media, logs, and application data.
View Service DetailsObject storage stores files as objects in buckets, addressed over an S3-compatible HTTP API. Because the API is S3-compatible, existing tools and SDKs — the AWS CLI, boto3, rclone, MinIO clients — work by simply pointing them at the platform endpoint.
Creating a Bucket and Access Keys
Create the bucket
Storage → Object Storage → Create Bucket. Bucket names are unique per region. Enable versioning if you want protection against accidental overwrites and deletes.
Create access keys
Security → API Keys → Object Storage Keys. Each key pair (access key + secret) can be scoped to specific buckets with read-only or read-write permission.
Using Standard S3 Tools
# AWS CLI against the platform endpoint
aws s3 ls \
--endpoint-url https://s3.accra-1.daakyicloud.com
aws s3 cp ./backup.tar.gz s3://my-backups/2026/06/ \
--endpoint-url https://s3.accra-1.daakyicloud.com
# Python (boto3)
import boto3
s3 = boto3.client(
"s3",
endpoint_url="https://s3.accra-1.daakyicloud.com",
aws_access_key_id=ACCESS_KEY,
aws_secret_access_key=SECRET_KEY,
)
s3.upload_file("report.pdf", "my-app-data", "reports/2026/june.pdf")Pre-Signed URLs
Generate time-limited URLs that grant download or upload access to a single object without sharing credentials — the standard way to serve private files to end users.
url = s3.generate_presigned_url(
"get_object",
Params={"Bucket": "my-app-data", "Key": "reports/2026/june.pdf"},
ExpiresIn=3600, # 1 hour
)Common Uses
- Backup targets — point database dumps and backup tooling at a bucket
- Media and static assets served to applications
- Log archival with lifecycle rules that expire old objects automatically
- Cross-application data exchange without shared file systems
Buckets are private by default. Think twice before enabling public read on any bucket — pre-signed URLs cover almost every sharing scenario safely.
