FROM node:18 as build_helper ARG HOME="/home/node" ARG APPDIR="${HOME}/monitoring" RUN mkdir ${APPDIR} WORKDIR ${APPDIR} COPY ./ng/package.json ./ng/ RUN cd ng && npm install COPY ./server/package.json ./server/ RUN cd server && npm install COPY ./common/ ./common COPY ./bootstrap-theme/ ./bootstrap-theme COPY ./ng/ ./ng RUN cd ng && npm run build COPY ./server/tsconfig* ./server/ COPY ./server/src/ ./server/src RUN cd ${APPDIR}/server && npm run build FROM node:18 ARG HOME="/home/node" ARG APPDIR="${HOME}/monitoring" RUN apt update && \ apt install -y tzdata # Change TimeZone ENV TZ=Europe/Berlin RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone RUN mkdir ${APPDIR} WORKDIR ${APPDIR} COPY --chown=node:node ./server/google-cloud/ ./google-cloud COPY --chown=node:node ./server/package.json . RUN npm install --omit=dev COPY ./server/database.json . COPY --from=build_helper --chown=node:node ${APPDIR}/server/dist/ ./dist COPY --from=build_helper --chown=node:node ${APPDIR}/server/public/ ./public RUN mkdir data VOLUME ${APPDIR}/data EXPOSE 80 CMD [ "node" , "." ]