Some help with Docker and plugins, please

Hi Forum!

I’m currently running my personal website on Joomla, which is great but way too much for my purposes. Over the years, it has become really convoluted and I have installed plugins and started to use stuff just because it’s there… I have been wanting to simplify things for a long time and a couple of months ago stumbled over Ghost. Quite funny, actually… I started to play with Docker and installed Portainer for orchestration and Ghost is one template that comes with Portainer.
Anyways, I have been running a test instance and playing with it for a few months and so far like it. I got a bit into handlebar and successfully started modifying a theme for me.
My next step would be to create a custom container image which would include some things like ghost-image-purge and an alternative storage connector. For that I could use a little help as I’m still a bit new to Docker. I tried stitching something together from some docs of the cloudinary connector. I’m looking more at S3 or Google Drive, though. But basically, I’m trying to understand how stuff can be included through a Dockerfile. So far my Dockerfile looks like that:

FROM ghost:latest
USER root
RUN npm install -g --production --loglevel verbose --no-save ghost-purge-images

I’d be grateful for some help with integrating the S3 and/or the Google Drive connector as well as some background on how to include plugins through a Dockerfile.


But basically, I’m trying to understand how stuff can be included through a Dockerfile.

Running to whole DevOps thing in Docker is not a small feat.

You might want to start from a stable ghost docker image. Here is mine.

Once you can run it you might want to add your add-on such as ghost-image-purge, cloudinary connector, etc.


Thanks for your reply!
Yeah, I know, DevOps… I’m originally a Linuxer (since 1995!) and network-/security guy. Never did any “dev” besides the usual everyday bash and Perl stuff and some Arduino things and maybe a bit PHP and basic JS here and there. The whole Docker thingy is wildly fascinating but I feel like a rabbit in front of a snake :D.
That’s why I thought, I start slowly, with a Dockerfile that just takes an existing image and modifies it…