diff --git a/Dockerfile b/Dockerfile index 16400a7..62c94c8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,20 @@ -# Build +# Stage 1: Build FROM node:20.2-alpine AS build WORKDIR /app COPY package.json yarn.lock ./ -RUN yarn install --frozen-lockfile +RUN yarn install --frozen-lockfile --production && yarn cache clean COPY . . -# Expose port 5000 -EXPOSE 5000 +# Stage 2: Production +FROM nginx:latest +COPY ./nginx.conf /etc/nginx/nginx.conf +COPY --from=build /app/build /usr/share/nginx/html -# Start -ENV PORT=5000 -CMD ["yarn", "start"] +# Expose port 80 +EXPOSE 80 + +# Healthcheck +HEALTHCHECK CMD curl --fail http://localhost:80 || exit 1 + +# Start Nginx server +CMD ["nginx", "-g", "daemon off;"]