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