FROM node:20-alpine AS webbuild
WORKDIR /app
COPY web/package*.json ./web/
RUN cd web && npm install
COPY web ./web
RUN cd web && npm run build

FROM node:20-alpine
WORKDIR /app
RUN apk add --no-cache chromium nss freetype harfbuzz ca-certificates ttf-freefont
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser
COPY server/package*.json ./server/
RUN cd server && npm install --omit=dev
COPY server ./server
COPY --from=webbuild /app/web/dist ./web/dist
EXPOSE 8080
CMD ["node","server/src/index.js"]
