39 lines
1023 B
Docker
39 lines
1023 B
Docker
FROM node:14.21.3-bullseye
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apt-get update -qq && \
|
|
apt-get install -y --no-install-recommends chromium && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN npm i -g npm@6.14.18
|
|
|
|
COPY bin/docker-entrypoint /usr/local/bin/frontend-entrypoint
|
|
|
|
RUN chmod +x /usr/local/bin/frontend-entrypoint && \
|
|
chown -R node:node /app
|
|
|
|
ENV CHROME_BIN=/usr/bin/chromium
|
|
ENV OPENSSL_CONF=/dev/null
|
|
|
|
USER node
|
|
|
|
COPY --chown=node:node package*.json bower.json .bowerrc .npmrc ./
|
|
COPY --chown=node:node patches ./patches
|
|
|
|
RUN npm install && \
|
|
{ \
|
|
for file in package.json package-lock.json bower.json .bowerrc .npmrc; do \
|
|
[ -f "$file" ] && sha256sum "$file"; \
|
|
done; \
|
|
find patches -type f -print 2>/dev/null | sort | while IFS= read -r file; do \
|
|
sha256sum "$file"; \
|
|
done; \
|
|
} | sha256sum | awk '{print $1}' > ./node_modules/.docker-dependencies-checksum
|
|
|
|
COPY --chown=node:node . .
|
|
|
|
ENTRYPOINT ["/usr/local/bin/frontend-entrypoint"]
|
|
|
|
CMD ["npm", "start"]
|