Files
skooner/Dockerfile
Cullen Walsh 6578711a82 Upgrade node in Dockerfile from 12.4.0 to 12.22.10
I personally ran issue an issue with a bug in Node TLS handling
(https://github.com/nodejs/node/issues/11771). This bug was fixed in
approximately 12.14.0, and does not show up when I test with v12.22.10,
the latest v12 release at the time of this commit.

https://github.com/skooner-k8s/skooner/issues/306

Test Plan: Built image locally, deployed to microk8s cluster. No longer
experiencing issue with parsing TLS certs.

Signed-off-by: Cullen Walsh <ckwalsh@cullenwalsh.com>
2022-02-23 09:41:53 -08:00

31 lines
777 B
Docker

# Stage 1 - the build react app
FROM node:12.22.10-alpine as build-deps
WORKDIR /usr/src/app
COPY client/package.json client/package-lock.json ./
RUN npm i
COPY client/ ./
RUN npm run build
# Stage 2 - the production environment
FROM node:12.22.10-alpine
RUN apk add --no-cache tini
ENV NODE_ENV production
WORKDIR /usr/src/app
RUN chown -R node:node /usr/src/app/
EXPOSE 4654
COPY server/package.json server/package-lock.json ./
RUN npm i --production
COPY --from=build-deps /usr/src/app/build /usr/src/app/public
COPY /server ./
# USER 1000 is the "node" user
# This is to avoid the "container has runAsNonRoot and image has non-numeric user (node), cannot verify user is non-root"
# in clusters with PSP enabled
USER 1000
ENTRYPOINT ["/sbin/tini", "--", "node", "."]