ghost-storage-adapter-s3
ghost-storage-adapter-s3 copied to clipboard
Ghost 5 Dockerfile
I found out it works with ghost 5, but we have to upgrade packages aws-sdk and ghost-storage-base
FROM ghost:5.2.4-alpine AS ghost-base
RUN npm install --prefix /tmp/ghost-storage-adapter-s3 ghost-storage-adapter-s3 && \
cp -r /tmp/ghost-storage-adapter-s3/node_modules/ghost-storage-adapter-s3 current/core/server/adapters/storage/s3 && \
rm -r /tmp/ghost-storage-adapter-s3
RUN npm install ghost-storage-base && npm install aws-sdk
I'd add this to the end of your Dockerfile, because I was missing this and the default config doesn't enable the adapter:
ENV storage__active s3
That cost me a few hours. The readme documents the other environment vars for the adapter configuration, as well as the config showing storage.active
field. But unless you specifically overwrite the default config in the Dockerfile to add storage.active
, your adapter won't be enabled with just the env variables documented in the readme.
ENV storage__active s3
Thanks! This works for me!
I made a modernized TypeScript fork of this one, using latest v3 version of AWS SDK & modern async / await syntax, so the workaround of upgrading packages is no longer needed. Adding in @mnebuerquo's tip, a more complete Dockerfile for recent versions of Ghost would be:
FROM ghost:5.5.0-alpine AS ghost-base
RUN npm install --prefix /tmp/ghos3 ghos3 && \
cp -r /tmp/ghos3/node_modules/ghos3 current/core/server/adapters/storage/s3 && \
rm -r /tmp/ghos3