Add docker setup.

This commit is contained in:
Spencer Ofwiti 2020-11-08 09:32:33 +03:00
parent ca9ca61ae1
commit 5f9e9a71ee
3 changed files with 46 additions and 0 deletions

4
.dockerignore Normal file
View File

@ -0,0 +1,4 @@
# Created by .ignore support plugin (hsz.mobi)
.idea/
dist/
node_modules/

34
Dockerfile Normal file
View File

@ -0,0 +1,34 @@
### STAGE 1: Build ###
# defining version of the base image
FROM node:15.1.0-alpine as build
# defining work directory
WORKDIR /app
# copying the json files into the image
COPY package*.json ./
RUN npm install
# copying rest of project
COPY . .
# running build script
RUN npm run build --prod
### STAGE 2: Setup ###
# defining nginx image version
FROM nginx:1.19.4-alpine
## Remove default nginx website
RUN rm -rf /usr/share/nginx/html/*
# copy dist output from our first image
COPY --from=build /app/dist/cic-staff-client /usr/share/nginx/html
# copy nginx configuration file
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80 443
CMD [ "nginx", "-g", "daemon off;" ]

8
nginx.conf Normal file
View File

@ -0,0 +1,8 @@
server {
listen 80;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
}