Introducing our new CEO Don Johnson - Read More
ghost logo

ghost:alpine

Multi-platform
Content Management System
Index digest

sha256:7d386fac6b7f5d9edbaa42694f7cff2f6b10ad0682345507624ae55f03f60acf

OS/ARCH

Compressed size

158.47 MB

Last pushed

1 day by doijanky

Type

Image

Vulnerabilities

2
18
18
1
1

Manifest digest

sha256:448b8bedefea94d52c3ed32180501085e21a2a0646d52fd175322a6fd68ff502

Layers (26)

0

ADD alpine-minirootfs-3.21.2-aarch64.tar.gz / # buildkit

3.99 MB


1

CMD ["/bin/sh"]

0 B


2

ENV NODE_VERSION=18.20.6

0 B


3

RUN /bin/sh -c addgroup -g 1000 node && adduser -u 1000 -G node -s /bin/sh -D node && apk add --no-cache libstdc++ && apk add --no-cache --virtual .build-deps curl && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" && case "${alpineArch##*-}" in x86_64) ARCH='x64' CHECKSUM="9919b24d4b9973cdd99c5b630ba3d5adc1b71c8f5471fd7a394539451f7e370e" OPENSSL_ARCH=linux-x86_64;; x86) OPENSSL_ARCH=linux-elf;; aarch64) OPENSSL_ARCH=linux-aarch64;; arm*) OPENSSL_ARCH=linux-armv4;; ppc64le) OPENSSL_ARCH=linux-ppc64le;; s390x) OPENSSL_ARCH=linux-s390x;; *) ;; esac && if [ -n "${CHECKSUM}" ]; then set -eu; curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && ln -s /usr/local/bin/node /usr/local/bin/nodejs; else echo "Building from source" && apk add --no-cache --virtual .build-deps-full binutils-gold g++ gcc gnupg libgcc linux-headers make python3 py-setuptools && export GNUPGHOME="$(mktemp -d)" && for key in C0D6248439F1D5604AAFFB4021D900FFDB233756 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A A363A499291CBBC940DD62E41F10027AF002F8B0 ; do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; done && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && gpgconf --kill all && rm -rf "$GNUPGHOME" && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xf "node-v$NODE_VERSION.tar.xz" && cd "node-v$NODE_VERSION" && ./configure && make -j$(getconf _NPROCESSORS_ONLN) V= && make install && apk del .build-deps-full && cd .. && rm -Rf "node-v$NODE_VERSION" && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; fi && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; && apk del .build-deps && node --version && npm --version # buildkit

39.66 MB


4

ENV YARN_VERSION=1.22.22

0 B


5

RUN /bin/sh -c apk add --no-cache --virtual .build-deps-yarn curl gnupg tar && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; done && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" && mkdir -p /opt && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && apk del .build-deps-yarn && yarn --version && rm -rf /tmp/* # buildkit

1.26 MB


6

COPY docker-entrypoint.sh /usr/local/bin/ # buildkit

443 B


7

ENTRYPOINT ["docker-entrypoint.sh"]

0 B


8

CMD ["node"]

0 B


9

RUN /bin/sh -c apk add --no-cache bash # buildkit

837.47 KB


10

ENV GOSU_VERSION=1.17

0 B


11

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .gosu-deps ca-certificates dpkg gnupg ; dpkgArch="$(dpkg --print-architecture | awk -F- '{ print $NF }')"; wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch"; wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc"; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4; gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu; gpgconf --kill all; rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; apk del --no-network .gosu-deps; chmod +x /usr/local/bin/gosu; gosu --version; gosu nobody true # buildkit

1.05 MB


12

RUN /bin/sh -c set -eux; ln -svf gosu /usr/local/bin/su-exec; su-exec nobody true # backwards compatibility (TODO remove in Ghost 6+) # buildkit

174 B


13

ENV NODE_ENV=production

0 B


14

ENV GHOST_CLI_VERSION=1.26.1

0 B


15

RUN /bin/sh -c set -eux; npm install -g "ghost-cli@$GHOST_CLI_VERSION"; npm cache clean --force # buildkit

10.94 MB


16

ENV GHOST_INSTALL=/var/lib/ghost

0 B


17

ENV GHOST_CONTENT=/var/lib/ghost/content

0 B


18

ENV GHOST_VERSION=5.109.4

0 B


19

RUN /bin/sh -c set -eux; mkdir -p "$GHOST_INSTALL"; chown node:node "$GHOST_INSTALL"; apkDel=; installCmd='gosu node ghost install "$GHOST_VERSION" --db mysql --dbhost mysql --no-prompt --no-stack --no-setup --dir "$GHOST_INSTALL"'; if ! eval "$installCmd"; then virtual='.build-deps-ghost'; apkDel="$apkDel $virtual"; apk add --no-cache --virtual "$virtual" g++ linux-headers make python3; eval "$installCmd"; fi; cd "$GHOST_INSTALL"; gosu node ghost config --no-prompt --ip '::' --port 2368 --url 'http://localhost:2368'; gosu node ghost config paths.contentPath "$GHOST_CONTENT"; gosu node ln -s config.production.json "$GHOST_INSTALL/config.development.json"; readlink -f "$GHOST_INSTALL/config.development.json"; mv "$GHOST_CONTENT" "$GHOST_INSTALL/content.orig"; mkdir -p "$GHOST_CONTENT"; chown node:node "$GHOST_CONTENT"; chmod 1777 "$GHOST_CONTENT"; cd "$GHOST_INSTALL/current"; packages="$(node -p ' var ghost = require("./package.json"); var transform = require("./node_modules/@tryghost/image-transform/package.json"); [ "sharp@" + transform.optionalDependencies["sharp"], "sqlite3@" + ghost.optionalDependencies["sqlite3"], ].join(" ") ')"; if echo "$packages" | grep 'undefined'; then exit 1; fi; for package in $packages; do installCmd='gosu node yarn add "$package" --force'; if ! eval "$installCmd"; then virtualPackages='g++ make python3 py3-setuptools'; case "$package" in sharp@*) echo >&2 "sorry: libvips 8.12.1 in Alpine 3.15 is not new enough (8.12.2+) for sharp 0.30 😞"; continue ;; esac; virtual=".build-deps-${package%%@*}"; apkDel="$apkDel $virtual"; apk add --no-cache --virtual "$virtual" $virtualPackages; eval "$installCmd --build-from-source"; fi; done; if [ -n "$apkDel" ]; then apk del --no-network $apkDel; fi; gosu node yarn cache clean; gosu node npm cache clean --force; npm cache clean --force; rm -rv /tmp/yarn* /tmp/v8* # buildkit

108.43 MB


20

WORKDIR /var/lib/ghost

32 B


21

VOLUME [/var/lib/ghost/content]

0 B


22

COPY docker-entrypoint.sh /usr/local/bin # buildkit

542 B


23

ENTRYPOINT ["docker-entrypoint.sh"]

0 B


24

EXPOSE map[2368/tcp:{}]

0 B


25

CMD ["node" "current/index.js"]

0 B


This image couldn't be analyzed
It may have an unsupported architecture, or exceed the maximum size