Files
website/Dockerfile
T

38 lines
865 B
Docker

ARG PRODUCTION_IMAGE=nginx:alpine
ARG BASE_IMAGE=node:lts
# --------------> The development image
FROM $BASE_IMAGE AS development
ENV NODE_ENV=development
COPY --chown=1000:1000 . /workspaces/m-tartari.github.io
WORKDIR /workspaces/m-tartari.github.io
USER 1000:1000
CMD [ "sleep", "infinity" ]
# --------------> The production build stage
FROM $BASE_IMAGE AS production-build
ENV NODE_ENV=production
COPY . /app
WORKDIR /app
RUN npm ci --omit=dev
RUN npm run build:prod
# --------------> The production image
FROM ${PRODUCTION_IMAGE} AS production
# Remove default nginx website
RUN rm -rf html; mkdir html
COPY --from=production-build /app/dist /usr/share/nginx/html
# COPY .htpasswd /usr/share/nginx/html/.htpasswd
COPY ./nginx.conf /etc/nginx/
RUN chmod -R o+r /usr/share/nginx/html
WORKDIR /usr/share/nginx
ENTRYPOINT ["nginx", "-g", "daemon off;"]