34 lines
746 B
Docker
34 lines
746 B
Docker
FROM node:20
|
|
|
|
RUN mkdir /zeppelin
|
|
RUN chown node:node /zeppelin
|
|
|
|
USER node
|
|
|
|
ARG API_URL
|
|
|
|
# Install dependencies before copying over any other files
|
|
COPY --chown=node:node package.json package-lock.json /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
|
|
|
|
WORKDIR /zeppelin
|
|
RUN npm ci
|
|
|
|
COPY --chown=node:node . /zeppelin
|
|
|
|
# Build backend
|
|
WORKDIR /zeppelin/backend
|
|
RUN npm run build
|
|
|
|
# Build dashboard
|
|
WORKDIR /zeppelin/dashboard
|
|
RUN npm run build
|
|
|
|
# Prune dev dependencies
|
|
WORKDIR /zeppelin
|
|
RUN npm prune --omit=dev
|