roomruler/Dockerfile

24 lines
608 B
Docker

FROM node:20-slim AS builder
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
COPY . /app
WORKDIR /app
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm install --frozen-lockfile
ARG VITE_WS_URL
RUN pnpm run -r build
FROM builder as back_pruned
RUN --mount=type=cache,id=pnpm,target=/pnpm/store pnpm --filter back --prod deploy pruned
FROM nginx:alpine-slim as front
WORKDIR /usr/share/nginx/html
RUN rm -rf ./*
COPY --from=builder /app/apps/front/dist .
FROM node:20-slim as back
WORKDIR /app
ENV NODE_ENV=production
COPY --from=back_pruned /app/pruned .
CMD [ "npm", "start" ]