ApostropheCMS With Wasabi

Prev Next

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.