S3 storage adapter and Ghost 2.9.1


I’m setting up a Ghost 2.9.1 installation in a Kubernetes cluster using the Bitnami Ghost container. I’m trying to configure my blog to use S3 as the storage, but I’m not getting it to work properly.

There seems to be quite a few different S3 adapters available, but most of them are very outdated, and I’m not sure if any of them is even supposed to work with Ghost 2.x.

https://docs.ghost.org/integrations/amazon-s3/ points to https://github.com/colinmeinke/ghost-storage-adapter-s3 which seems to be updated quite recently, but even that states only compatibility with Ghost 1.x. I’ve installed it according to the instructions, copied the files to content/adapters/storage/s3, and configured it in my config.production.json:

"storage": {
  "active": "s3",
  "s3": {
    "accessKeyId": "MyAccessKeyId",
    "secretAccessKey": "MySecretAccessKey",
    "region": "eu-north-1",
    "bucket": "cdn.example.com",
    "assetHost": "https://cdn.example.com",
    "pathPrefix": "",
    "forcePathStyle": true

But when I do ghost restart, I always get this very uninformative error message:

Message: We have detected an error in your custom storage adapter.
Stack: Error: We have detected an error in your custom storage adapter.
    at ChildProcess.cp.on (/opt/bitnami/ghost/versions/2.9.1/node_modules/ghost-cli/lib/utils/local-process.js:63:3
    at emitTwo (events.js:126:13)
    at ChildProcess.emit (events.js:214:7)
    at emit (internal/child_process.js:762:12)
    at _combinedTickCallback (internal/process/next_tick.js:142:11)
    at process._tickCallback (internal/process/next_tick.js:181:9)

Has someone managed to get this combination working? Is there just something wrong in my configuration?


Managed to get it working! I need to revisit my setup later, but it looks like I needed to do extra npm install inside the content/adapters/storage/s3 directory to get all the required dependencies properly installed.


This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.