You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
816 B
21 lines
816 B
# build stage
|
|
FROM node:lts-hydrogen AS build-stage
|
|
WORKDIR /app
|
|
COPY package*.json ./
|
|
# Omitting --ignore-script here, because they may be needed for dependencies to build well
|
|
# => a regular audit of our dependencies should be made, to notice and address any vulnerabilities
|
|
RUN npm install
|
|
# This copies all files from the current directory to the WORKDIR in the image
|
|
# It is only safe if the .dockerignore file is properly configured to avoid copying
|
|
# sensitive or useless files to the image
|
|
COPY . .
|
|
|
|
RUN npm run build
|
|
|
|
# production stage
|
|
# FIXME? The nginx image runs with root as the default user. Make sure it is safe here
|
|
FROM nginx:stable-alpine AS production-stage
|
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
|
COPY --from=build-stage /app/dist /usr/share/nginx/html
|
|
CMD ["nginx", "-g", "daemon off;"]
|