diff --git a/apps/generator/Dockerfile b/apps/generator/Dockerfile index 426ece721..65ca03283 100644 --- a/apps/generator/Dockerfile +++ b/apps/generator/Dockerfile @@ -1,5 +1,3 @@ -ARG ASYNCAPI_GENERATOR_VERSION=1.10.9 - FROM node:18-alpine WORKDIR /app @@ -8,14 +6,18 @@ WORKDIR /app ENV PUPPETEER_EXECUTABLE_PATH /usr/bin/chromium-browser ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true +# Include the ARG instruction in this build stage +# Define ARG in build stage for use in RUN command +ARG ASYNCAPI_GENERATOR_VERSION=1.10.9 + # Since 0.30.0 release Git is supported and required as a dependency # Since 0.14.0 release of html-template chromium is needed for pdf generation. # More custom packages for specific template should not be added to this dockerfile. Instead, we should come up with some extensibility solution. -RUN apk --update add git chromium && \ - rm -rf /var/lib/apt/lists/* && \ - rm /var/cache/apk/* +# The --no-cache prevents from caching of the package index which saves space by not storing the APK cache files. +# Install dependencies and AsyncAPI Generator in a single RUN command +RUN apk --no-cache add git chromium && \ + rm -rf /var/cache/apk/* && \ + npm install -g --ignore-scripts @asyncapi/generator@"${ASYNCAPI_GENERATOR_VERSION}" -# Installing latest released npm package -RUN npm install -g @asyncapi/generator@$ASYNCAPI_GENERATOR_VERSION ENTRYPOINT [ "ag" ]