Apostrophe CMS can be used with Wasabi using the config attributes below. All attributes regarding bucket name and keys refer to your preferred Wasabi bucket name and your Wasabi access & secret keys.
APOS_S3_BUCKET=YOUR-bucket-name
APOS_S3_SECRET=YOUR-access-key
APOS_S3_KEY=YOUR-secret-key
APOS_S3_ENDPOINT=s3.wasabisys.com
If you wish to deploy this in a Heroku environment, the details are below.
heroku config:set APOS_S3_BUCKET=YOUR-bucket-name
heroku config:set APOS_S3_SECRET=YOUR-access-key
heroku config:set APOS_S3_KEY=YOUR-secret-key
heroku config:set APOS_S3_ENDPOINT=s3.wasabisys.com
As an optional step, to add a bucket policy that prevents non-SSL (http) access, use the syntax below.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Action": "s3:Get*",
"Resource": "arn:aws:s3:::YOUR-BUCKET"
},
{
"Effect": "Deny",
"Principal": "*",
"Action": "*",
"Resource": "arn:aws:s3:::YOUR-BUCKET",
"Condition": {
"Bool": {
"aws:SecureTransport": "false"
}
}
}
]
}
Forcing UPLOADFS to use https only:
in app.js:
// apostrophe configuration.....
modules: {
//other modules.....
'apostrophe-attachments': {
uploadfs: {
https: true
}
},
}Note: This example uses Wasabi’s us-east-1 storage region. To use other Wasabi storage regions, use the appropriate Wasabi service URL as described in this article.