diff --git a/Dockerfile b/Dockerfile
index fd7060ff419c00719274eaa421b7df99da32d00d..6704172d3858181c81c532d3e959694940ccb7ae 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,7 +1,21 @@
-FROM node:alpine
-MAINTAINER John Sparger
+# build CCCE Frontend
+FROM node:14.15.4 as builder
+RUN mkdir /usr/src/app
+WORKDIR /usr/src/app
+ENV PATH /usr/src/app/node_modules/.bin:$PATH
+COPY package.json /usr/src/app/
+RUN npm install
+RUN npm install react-scripts@4.0.1 -g
+COPY . /usr/src/app
+ENV PUBLIC_URL "/"
+ENV REACT_APP_LOGIN_METHOD "STD"
+RUN npm run build
 
-RUN mkdir /web
-WORKDIR /web
+# production environment
+FROM nginx:1.19.6-alpine
+RUN rm -rf /etc/nginx/conf.d 
+RUN mkdir /etc/nginx/conf.d
+COPY docker/default.conf /etc/nginx/conf.d
+COPY --from=builder /usr/src/app/build /usr/share/nginx/html/
 EXPOSE 8080
-CMD PORT=8080 /usr/local/bin/npm start
\ No newline at end of file
+CMD ["nginx", "-g", "daemon off;"]
\ No newline at end of file
diff --git a/docker/default.conf b/docker/default.conf
new file mode 100644
index 0000000000000000000000000000000000000000..d6a77f842289b4f525e78be32febea73885c664a
--- /dev/null
+++ b/docker/default.conf
@@ -0,0 +1,8 @@
+server {
+  listen 8080;
+  location / {
+    root   /usr/share/nginx/html;
+    index  index.html;
+    try_files $uri $uri/ /index.html;
+  }
+}
\ No newline at end of file