diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 22f54f4..2ed9b8c 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -1,22 +1,16 @@ version: '3.7' - services: - frontend_bt_prod: + frontend_bt: + image: caminsha/bt-frontend container_name: frontend_bt_prod - build: - context: ./frontend - dockerfile: Dockerfile.prod ports: - - 8877:80 + - 3000:3000 backend-prod: + image: caminsha/bt-backend container_name: backend_bt - build: - context: ./backend - dockerfile: Dockerfile.prod ports: - 5000:5000 environment: DEBUG: "no" PORT: 5000 HOST: "0.0.0.0" - diff --git a/frontend/Dockerfile.prod b/frontend/Dockerfile.prod index 17228af..82892dc 100644 --- a/frontend/Dockerfile.prod +++ b/frontend/Dockerfile.prod @@ -1,5 +1,4 @@ -FROM node:latest as builder - +FROM node:latest as build WORKDIR /app ENV PATH /app/node_modules/.bin:$PATH COPY package.json ./ @@ -7,3 +6,10 @@ COPY package-lock.json ./ RUN npm ci --silent COPY . ./ RUN npm run build + +FROM nginx:latest +COPY --from=build /app/build /usr/share/nginx/html +RUN rm /etc/nginx/conf.d/default.conf +COPY nginx/nginx.conf /etc/nginx/conf.d +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] diff --git a/frontend/nginx/nginx.conf b/frontend/nginx/nginx.conf new file mode 100644 index 0000000..a52c23f --- /dev/null +++ b/frontend/nginx/nginx.conf @@ -0,0 +1,14 @@ +server { + listen 80; + location / { + root /usr/share/nginx/html; + index index.html index.htm; + # to redirect all the requests to index.html, + # useful when you are using react-router + try_files $uri /index.html; + } + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } +}