Get started

Quickstart

This guide takes about ten minutes. You need a workspace and the AWS CLI version 2 or any S3 SDK.

1. Create an access key

In the console, open Access keys → New key. Choose the bucket scope All buckets and the permission set Read and write for this guide. Copy the secret: it is displayed only once.

2. Configure your client

[profile tcn]
region = fra1
endpoint_url = https://fra1.s3.tcnstorage.store
s3 =
  addressing_style = virtual

3. Create a bucket and upload

# Point any S3 tool at your region endpoint
export AWS_ACCESS_KEY_ID="TCNK7Q2M4X9EXAMPLE"
export AWS_SECRET_ACCESS_KEY="<your secret key>"

aws s3 mb s3://media-assets --endpoint-url https://fra1.s3.tcnstorage.store
aws s3 cp ./poster.jpg s3://media-assets/2026/poster.jpg \
  --endpoint-url https://fra1.s3.tcnstorage.store \
  --cache-control "public, max-age=86400"

Large files — the CLI and SDKs switch to multipart upload automatically above 8 MiB and upload parts in parallel.

4. Enable edge delivery

Edge delivery serves public objects from every point of presence. Enable it in the console under Bucket → Edge, or with the management API:

curl
curl -X PATCH https://api.tcnstorage.store/v1/buckets/media-assets \
  -H "Authorization: Bearer $TCN_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"edge":{"enabled":true,"default_ttl":86400}}'

5. Verify

Edge URL
# Public buckets are served from the nearest edge PoP
curl -I https://media-assets.cdn.tcnstorage.store/2026/poster.jpg

HTTP/2 200
content-type: image/jpeg
cache-control: public, max-age=86400
x-tcn-edge: hit
x-tcn-region: fra1

The x-tcn-edge header shows miss on the first request to a PoP and hit afterwards. That's it — your bucket is live.