TLDR

  1. Create a bucket in AWS Console
  2. Create a custom policy in AWS Console with the following permissions:
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetObject",
        "s3:DeleteObject",
        "s3:GetObjectAcl",
        "s3:PutObjectAcl",
        "s3:PutObject"
      ],
      "Resource": [
        // rewrite your-bucket-name with your bucket name
        "arn:aws:s3:::your-bucket-name",
        "arn:aws:s3:::your-bucket-name/*"
      ]
    }
  ]
}
  1. Create an IAM user in AWS Console & attach the policy from the previous step.
  2. Go to User settings & create an Access Key in AWS Console.
  3. Add the Access Key and Secret Key in Coolify when you create a new S3 source.

    You need to use the S3 HTTP endpoit without the bucket name, for example, https://s3.eu-central-1.amazonaws.com.

Detailed steps

Create a bucket

1

Create a bucket.

Go to AWS Console and create a new bucket. 1

2

Name your bucket.

2

Create a new policy

1

Create a new policy.

Go to AWS Console and create a new policy. 1

2

Name & configure your policy.

Add the following JSON permissions to your policy (replace your-bucket-name with your bucket name):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetObject",
        "s3:DeleteObject",
        "s3:GetObjectAcl",
        "s3:PutObjectAcl",
        "s3:PutObject"
      ],
      "Resource": [
        "arn:aws:s3:::your-bucket-name",
        "arn:aws:s3:::your-bucket-name/*"
      ]
    }
  ]
}

2 3

Create a new IAM user

1

Create a new IAM User.

Go to AWS Console and create a new user. 1

2

Name your user.

2
3

Attach the policy created in the previous step.

3

4

Go to your user settings.

4
5

Create a new `Access Key`.

5

6

Set `Other` as use-case.

6
7

Copy the `Access Key` & `Secret Access Key`.

You will need it to configure this S3 storage in Coolify. 7

Configure S3 in Coolify

1

Add new S3 Storage

Go to your Coolify instance and create a new S3 storage. 1

2

Add the details.

Make sure you use the S3 HTTP endpoint without the bucket name. For example, https://s3.eu-central-1.amazonaws.com. 2

Well done!