ARG BUILD_WORKDIR=/dojo/ExpressAPI ######################################################################## Build stage FROM node:20-bullseye AS builder LABEL maintainer="Michaël Minelli <michael-jean.minelli@hesge.ch>" LABEL Description="Express API for Dojo - Build stage" ARG BUILD_WORKDIR # Create app directory ADD ExpressAPI/ ${BUILD_WORKDIR}/ WORKDIR ${BUILD_WORKDIR} # Install app dependencies RUN npm install # Build app RUN npm run build ######################################################################## Run stage FROM node:20-bullseye LABEL maintainer="Michaël Minelli <michael-jean.minelli@hesge.ch>" LABEL Description="Express API for Dojo - Run stage" ARG BUILD_WORKDIR COPY --from=builder ${BUILD_WORKDIR}/node_modules ./node_modules COPY --from=builder ${BUILD_WORKDIR}/package*.json ./ COPY --from=builder ${BUILD_WORKDIR}/dist ./dist COPY --from=builder ${BUILD_WORKDIR}/prisma ./prisma ADD .env ${BUILD_WORKDIR}/.env EXPOSE 30992 CMD [ "npm", "run", "start:migrate:prod" ] #ENTRYPOINT ["tail", "-f", "/dev/null"]