-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
2667e9e
commit fc74388
Showing
1 changed file
with
13 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,30 +1,29 @@ | ||
# base image | ||
# Base image for building the application | ||
FROM node:14.17.0-alpine as build-stage | ||
|
||
# set working directory | ||
# Set the working directory inside the container | ||
WORKDIR /case-flow-web/app | ||
|
||
# add `/app/node_modules/.bin` to $PATH | ||
ENV PATH /case-flow-web/app/node_modules/.bin:$PATH | ||
|
||
RUN apk update && apk upgrade && \ | ||
apk add --no-cache bash git openssh | ||
|
||
# install and cache app dependencies | ||
COPY package-lock.json /case-flow-web/app/package-lock.json | ||
COPY package.json /case-flow-web/app/package.json | ||
# Copy only the package.json and package-lock.json files to leverage Docker caching | ||
COPY package-lock.json package.json /case-flow-web/app/ | ||
|
||
# Install dependencies | ||
RUN npm install --unsafe-perm --dev | ||
#RUN npm install [email protected] -g --silent | ||
# create and set user permissions to app folder | ||
RUN mkdir -p node_modules/.cache && chmod -R 777 node_modules/.cache | ||
|
||
# Copy the entire application code | ||
COPY . /case-flow-web/app/ | ||
|
||
# Build the application | ||
RUN npm run build | ||
|
||
# Intermediate stage for serving the built application | ||
FROM nginx:latest as production-stage | ||
|
||
# Copy the built files from the previous stage to Nginx's HTML directory | ||
COPY --from=build-stage /case-flow-web/app/build /usr/share/nginx/html | ||
|
||
# Copy Nginx configuration file from the host | ||
COPY ./nginx_conf/nginx.conf /etc/nginx/nginx.conf | ||
|
||
# Command to start Nginx when the container starts | ||
CMD ["nginx", "-g", "daemon off;"] |