Skip to content

AWS S3

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.

Detailed steps

Create a bucket

  1. Create a bucket in AWS Console 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!