42 lines
1,019 B
Docker
42 lines
1,019 B
Docker
FROM node:20
|
|
|
|
RUN mkdir /zeppelin
|
|
RUN corepack enable
|
|
RUN chown node:node /zeppelin
|
|
|
|
USER node
|
|
|
|
ARG API_URL
|
|
|
|
# Install dependencies before copying over any other files
|
|
RUN corepack prepare --activate pnpm@latest
|
|
COPY --chown=node:node package.json pnpm-lock.yaml pnpm-workspace.yaml /zeppelin/
|
|
RUN mkdir /zeppelin/backend
|
|
COPY --chown=node:node backend/package.json /zeppelin/backend/
|
|
RUN mkdir /zeppelin/shared
|
|
COPY --chown=node:node shared/package.json /zeppelin/shared/
|
|
RUN mkdir /zeppelin/dashboard
|
|
COPY --chown=node:node dashboard/package.json /zeppelin/dashboard/
|
|
RUN mkdir /zeppelin/revampdashboard
|
|
COPY --chown=node:node revampdashboard/package.json /zeppelin/revampdashboard/
|
|
|
|
WORKDIR /zeppelin
|
|
RUN pnpm i
|
|
|
|
COPY --chown=node:node . /zeppelin
|
|
|
|
# Build backend
|
|
WORKDIR /zeppelin/backend
|
|
RUN pnpm run build
|
|
|
|
# Build dashboard
|
|
WORKDIR /zeppelin/dashboard
|
|
RUN pnpm run build
|
|
|
|
WORKDIR /zeppelin/revampdashboard/
|
|
RUN pnpm run check
|
|
RUN pnpm run build
|
|
|
|
# Prune dev dependencies
|
|
WORKDIR /zeppelin
|
|
RUN pnpm prune --prod
|