ApostropheCMS 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 and 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
To deploy this in a Heroku environment, refer to the details 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
Optionally, 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
}
},
}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 Service URLs for Wasabi's Storage Regions.