ARG NODE_VERSION=12 ARG DEBIAN_RELEASE=buster FROM node:${NODE_VERSION}-${DEBIAN_RELEASE} RUN apt-get update -yq \ && apt-get install -yq --no-install-recommends \ ca-certificates \ fontconfig \ libjpeg62-turbo \ libx11-6 \ libxcb1 \ libxext6 \ libxrender1 \ wget \ xfonts-75dpi \ xfonts-base \ && find /var/*/apt -type f -delete ARG PANDOC_VERSION=2.9.2.1 RUN wget -nv -O /tmp/pandoc.tar.gz https://github.com/jgm/pandoc/releases/download/${PANDOC_VERSION}/pandoc-${PANDOC_VERSION}-linux-amd64.tar.gz \ && cd /usr/local \ && tar xfz /tmp/pandoc.tar.gz --strip-components=1 \ && rm /tmp/pandoc.tar.gz \ && pandoc --version ARG WKHTMLTOPDF_VERSION=0.12.5 ARG DEBIAN_RELEASE=buster RUN wget -nv -O /tmp/wkhtmltox.deb https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/${WKHTMLTOPDF_VERSION}/wkhtmltox_${WKHTMLTOPDF_VERSION}-1.${DEBIAN_RELEASE}_amd64.deb \ && dpkg -i /tmp/wkhtmltox.deb \ && rm /tmp/wkhtmltox.deb \ && wkhtmltopdf --version RUN mkdir -p /src /opt/prezbuilder COPY src/ /src/ COPY assets/ /opt/prezbuilder/assets/ COPY lib/ /opt/prezbuilder/lib/ COPY gulpfile.esm.js package.json package-lock.json /opt/prezbuilder/ ENV NODE_ENV=production RUN cd /opt/prezbuilder/ \ && env NPM_CONFIG_CACHE=/tmp/.npm npm install \ && rm -rf /tmp/.npm ENV SERVER_HOST=0.0.0.0 \ SERVER_PORT=3000 \ SRC=/src \ OUTPUT=/public \ WKHTMLTOPDF_BINARY=/usr/local/bin/wkhtmltopdf RUN mkdir -p -m 0777 $OUTPUT WORKDIR /opt/prezbuilder EXPOSE 3000/tcp 35729/tcp ENTRYPOINT ["/opt/prezbuilder/node_modules/.bin/gulp"] CMD ["dev"]