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

RUN apt update && \
    apt -y install python3 build-essential git chromium libnss3 libfreetype6-dev libharfbuzz-bin libharfbuzz-dev ca-certificates fonts-freefont-otf fonts-freefont-ttf fonts-noto-cjk fonts-noto-cjk-extra fonts-wqy-microhei fonts-wqy-zenhei && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/log/*
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" ]
