FROM node:18-bullseye-slim as base
LABEL Author="Nanahira <nanahira@momobako.com>"

RUN apt update && apt -y install python3 build-essential git && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
WORKDIR /app
COPY ./package*.json ./

FROM base as builder
RUN npm ci && npm cache clean --force
COPY . ./
RUN npm run build

FROM base
ENV NODE_ENV production
RUN npm ci && npm cache clean --force
COPY --from=builder /app/dist ./dist
COPY ./docker ./docker

ENTRYPOINT [ "./docker/entrypoint.sh" ]
CMD [ "npm", "start" ]
