Just remember that minio needs to have a domain to port the API publicly for everything to work well.
I created my bucket as private and used the json below to set the permissions.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Main": {
"AWS": [
"*"
]
},
"Action": [
"s3:GetBucketLocation",
"s3:ListBucketMultipartUploads"
],
"Resource": [
"arn:aws:s3:::typebot"
]
},
{
"Effect": "Allow",
"Main": {
"AWS": [
"*"
]
},
"Action": [
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::typebot"
],
"Condition": {
"StringEquals": {
"s3:prefix": [
"public"
]
}
}
},
{
"Effect": "Allow",
"Main": {
"AWS": [
"*"
]
},
"Action": [
"s3:ListMultipartUploadParts",
"s3:PutObject",
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::typebot/public*"
]
}
]
}