yobasystems/alpine-ghost
Ghost blog running on Alpine Linux [docker] [amd64/armhf/aarch64]
1.2K
This container image (yobasystems/alpine-ghost) is based on the minimal Alpine Linux using the yobasystems/alpine-nodejs
base container image yobasystems/alpine-nodejs.
Alpine Linux is a Linux distribution built around musl libc and BusyBox. The image is only 5 MB in size and has access to a package repository that is much more complete than other BusyBox based images. This makes Alpine Linux a great image base for utilities and even production applications. Read more about Alpine Linux here and you can see how their mantra fits in right at home with container images.
Ghost is a powerful app for new-media creators to publish, share, and grow a business around their content. It comes with modern tools to build a website, publish content, send newsletters & offer paid subscriptions to members.
:amd64
, :x86_64
- 64 bit Intel/AMD (x86_64/amd64):arm64v8
, :aarch64
- 64 bit ARM (ARMv8/aarch64):arm32v7
, :armhf
- 32 bit ARM (ARMv7/armhf)📝 PLEASE CHECK TAGS BELOW FOR SUPPORTED ARCHITECTURES, THE ABOVE IS A LIST OF EXPLANATION
:latest
latest branch based (Automatic Architecture Selection):main
main branch usually inline with latest:amd64
, :x86_64
amd64 based on latest tag but amd64 architecture:aarch64
, :arm64v8
Armv8 based on latest tag but arm64 architecture:armhf
, :arm32v7
Armv7 based on latest tag but arm32 architecture:v5.108.1
version number related to Ghost versionURL
: specify the ghost url with http:// or https://GID
: 1027
specify the Group ID of the filesUID
: 1027
specify the User ID of the filesSYNTAX_HIGHLIGHTING
: True
specify if Syntax Highlighting is enabled in ghostHIGHLIGHTER_COLOR
: dark
specify the colour scheme for Syntax HighlightingEmail (defaults to False meaning no emails):
CUSTOM_SMTP
: specify custom email service. This can be True or False.SERVICE
: specify email service. This can be Mailgun, Sendgrid or Gmail.SMTP_USER
: specify email service smtp usernameSMTP_PASS
: specify email service smtp passworddocker run --name some-ghost -d yobasystems/alpine-ghost
This will start a Ghost instance listening on the default Ghost port of 2368.
If you'd like to be able to access the instance from the host without the container's IP, standard port mappings can be used:
docker run --name some-ghost -p 80:2368 -d yobasystems/alpine-ghost
Then, access it via http://localhost or http://host-ip in a browser.
You can also point the image to your existing content on your host:
docker run --name some-ghost -v /path/on/host:/ghost/content yobasystems/alpine-ghost
Alternatively you can use a data container that has a volume that points to /ghost and then reference it:
docker run --name some-ghost --volumes-from some-ghost-data yobasystems/alpine-ghost
ghost:
image: yobasystems/alpine-ghost
command: npm start --production
environment:
URL: https://www.example.co.uk
SYNTAX_HIGHLIGHTING: True
HIGHLIGHTER_COLOR: dark
CUSTOM_SMTP: True
SERVICE: Sendgrid
SMTP_USER: user@example.co.uk
SMTP_PASS: RANd0Mpa55w0Rd
expose:
- "2368"
volumes:
- /app/ghost:/ghost/content
domainname: www.example.co.uk
restart: always
PACKAGE NAME | PACKAGE VERSION | VULNERABILITIES |
---|
docker pull yobasystems/alpine-ghost