About 10 minutes

How to use Aktar with Amazon S3

Amazon S3 is the original object storage and works with Aktar's Amazon S3 preset. The only part that needs care is public access: S3 blocks it by default, so you either add a bucket policy for public reads or put CloudFront in front of the bucket.

What you need

  • An AWS account
  • Permission to create S3 buckets and IAM users
  • Aktar installed on your Mac

Step by step

  1. 1

    Create a bucket

    In the S3 console, click Create bucket, choose a globally unique name and the region closest to you, for example eu-central-1. You can keep the default "Bucket owner enforced" object ownership: Aktar doesn't use ACLs.

  2. 2

    Allow public reads

    Option A, bucket policy: in the bucket's Permissions tab, turn off the "Block public access" settings that block public bucket policies, then add this bucket policy (replace YOUR-BUCKET):

    {
      "Version": "2012-10-17",
      "Statement": [{
        "Sid": "PublicRead",
        "Effect": "Allow",
        "Principal": "*",
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::YOUR-BUCKET/*"
      }]
    }

    Option B, CloudFront: keep the bucket private and create a CloudFront distribution with the bucket as origin (using Origin Access Control). This gives you HTTPS on a custom domain and caching.

  3. 3

    Create an IAM user for Aktar

    In IAM, create a user and attach a policy that only allows what Aktar needs on that bucket:

    {
      "Version": "2012-10-17",
      "Statement": [
        { "Effect": "Allow", "Action": "s3:ListBucket",
          "Resource": "arn:aws:s3:::YOUR-BUCKET" },
        { "Effect": "Allow",
          "Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject"],
          "Resource": "arn:aws:s3:::YOUR-BUCKET/*" }
      ]
    }

    Then create an access key for the user and copy the Access Key ID and Secret Access Key.

  4. 4

    Add the destination in Aktar

    In Settings → Destinations → Add Destination, choose Amazon S3 and enter the values below. The endpoint and region must match the bucket's region.

  5. 5

    Test and save

    Click Test Connection to confirm the bucket is writable and the public URL serves files, then Save.

Settings in Aktar

Enter these values in Settings → Destinations → Add Destination. Field names match the app.

FieldExample value
ProviderAmazon S3
Endpointhttps://s3.eu-central-1.amazonaws.comUse your bucket's region.
Regioneu-central-1
Access Key IDAKIA…From the IAM user.
Secret Access Key••••••••
Bucketyour-bucket
Public Base URLyour-bucket.s3.eu-central-1.amazonaws.comOr your CloudFront domain.

Tips

  • Prefer CloudFront with a custom domain if you share links publicly: you get caching and can keep the bucket itself private.
  • Scope the IAM policy to a single bucket. Aktar never needs account-wide permissions.
  • Choose a region close to you for faster uploads, and close to your audience if you don't use a CDN.

Troubleshooting

Test Connection reports an error about the region or a redirect

The endpoint and region must match the region the bucket was created in, for example https://s3.eu-central-1.amazonaws.com with eu-central-1.

Uploads fail with Access Denied

The IAM user needs s3:PutObject on YOUR-BUCKET/* and s3:ListBucket on the bucket itself.

Links return 403

The bucket policy is missing or still blocked by "Block public access", or CloudFront can't read the bucket. See Access Denied errors.

Still stuck?Browse the FAQ or ask on GitHub.