# develop stage
FROM node:20-alpine as develop-stage

ENV TZ=Europe/Prague

WORKDIR /app
RUN  yarn global add @quasar/cli

COPY package.json yarn.lock ./
RUN yarn --production=false
RUN npx update-browserslist-db@latest
COPY . .

# build stage
FROM develop-stage as build-stage
ENV NODE_ENV production

RUN quasar build -m ssr

FROM node:20-alpine as production-stage

ENV NODE_ENV production
ENV TZ=Europe/Prague

EXPOSE 3000
WORKDIR /app

COPY process.yml /app
COPY --from=build-stage /app/dist/ssr/package.json /app
RUN yarn global add pm2 && yarn && yarn cache clean

COPY --from=build-stage /app/dist/ssr /app

CMD ["pm2-runtime", "/app/process.yml"]
