Skip to main content

Configuring S3 Bucket as storage in Chatwoot

Using Amazon S3#

You can get started with Creating an S3 bucket and Create an IAM user to configure the following details.

Configure the following env variables.

ACTIVE_STORAGE_SERVICE='amazon'
S3_BUCKET_NAME=
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_REGION=

S3 Bucket policy#

Inorder to use S3 bucket in Chatwoot, a policy has to be set with the correct credentials. A sample policy is given below, as the listed actions are required for the storage to work.

{
"Version": "2012-10-17",
"Id": "Policyxxx",
"Statement": [
{
"Sid": "Stmtxxx",
"Effect": "Allow",
"Principal": {
"AWS": "your-user-arn"
},
"Action": [
"s3:DeleteObject",
"s3:GetObject",
"s3:ListBucket",
"s3:PutObject"
],
"Resource": [
"arn:aws:s3:::your-bucket-name",
"arn:aws:s3:::your-bucket-name/*"
]
}
]
}

Replace your bucket name in the appropriate places.

User ARN can be found using the following steps:

  1. Login to AWS Console. Go to IAM, and click on Users from the left sidebar. You will be to see the list of users as follows.

s3-users-list

  1. Click on the user, you will be to see a screen as shown below. Copy the User ARN and paste it in the above policy.

user-arn