2024-03-17 18:49:31 +02:00
|
|
|
FROM node:20
|
2024-03-30 15:46:15 +00:00
|
|
|
|
|
|
|
RUN mkdir /zeppelin
|
2024-11-02 14:55:29 +02:00
|
|
|
RUN corepack enable
|
2024-03-30 15:46:15 +00:00
|
|
|
RUN chown node:node /zeppelin
|
|
|
|
|
2024-03-17 18:49:31 +02:00
|
|
|
USER node
|
|
|
|
|
2024-03-30 15:46:15 +00:00
|
|
|
ARG API_URL
|
|
|
|
|
|
|
|
# Install dependencies before copying over any other files
|
2024-11-02 14:55:29 +02:00
|
|
|
RUN corepack prepare --activate pnpm@latest
|
|
|
|
COPY --chown=node:node package.json pnpm-lock.yaml pnpm-workspace.yaml /zeppelin
|
2024-03-30 15:46:15 +00:00
|
|
|
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
|
2024-03-17 18:49:31 +02:00
|
|
|
|
|
|
|
WORKDIR /zeppelin
|
2024-11-02 14:55:29 +02:00
|
|
|
RUN pnpm i
|
2024-03-30 15:46:15 +00:00
|
|
|
|
|
|
|
COPY --chown=node:node . /zeppelin
|
2024-03-17 18:49:31 +02:00
|
|
|
|
|
|
|
# Build backend
|
|
|
|
WORKDIR /zeppelin/backend
|
2024-11-02 14:55:29 +02:00
|
|
|
RUN pnpm run build
|
2024-03-17 18:49:31 +02:00
|
|
|
|
|
|
|
# Build dashboard
|
|
|
|
WORKDIR /zeppelin/dashboard
|
2024-11-02 14:55:29 +02:00
|
|
|
RUN pnpm run build
|
2024-03-17 18:49:31 +02:00
|
|
|
|
|
|
|
# Prune dev dependencies
|
|
|
|
WORKDIR /zeppelin
|
2024-11-02 14:55:29 +02:00
|
|
|
RUN pnpm prune --prod
|