Select Git revision
Dockerfile_ExpressAPI

michael.minelli authored
Dockerfile_ExpressAPI 1.19 KiB
ARG BUILD_DEPLOY_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_DEPLOY_WORKDIR
# Create app directory
ADD ExpressAPI/ ${BUILD_DEPLOY_WORKDIR}/
ADD .env ${BUILD_DEPLOY_WORKDIR}/.env
WORKDIR ${BUILD_DEPLOY_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_DEPLOY_WORKDIR
WORKDIR ${BUILD_DEPLOY_WORKDIR}
COPY --from=builder ${BUILD_DEPLOY_WORKDIR}/node_modules ./node_modules
COPY --from=builder ${BUILD_DEPLOY_WORKDIR}/package*.json ./
COPY --from=builder ${BUILD_DEPLOY_WORKDIR}/dist ./dist
COPY --from=builder ${BUILD_DEPLOY_WORKDIR}/prisma ./prisma
COPY --from=builder ${BUILD_DEPLOY_WORKDIR}/.env ./.env
EXPOSE 30992
CMD [ "npm", "run", "start:migrate:prod" ]
#ENTRYPOINT ["tail", "-f", "/dev/null"]