FROM node:18-alpine AS build


#### RUN BUILD IN CONTAINER

# copy required files
WORKDIR /app
COPY . .
RUN npm install
RUN npm run build

# copy to actual container (prod)
FROM node:18-alpine AS web

WORKDIR /app

# copy required files
COPY --from=build /app/build /app/build
# COPY --from=build /app/migrations /app/migrations
COPY --from=build /app/package.json /app/package-lock.json .


# get production node modules
RUN npm ci --omit dev

# expose port
EXPOSE 3000


# run app
CMD ["node", "build"]