Skip to content
Snippets Groups Projects
Select Git revision
  • 6213bd7f8702926b456014fc6195016776f2e158
  • main default protected
  • jw_sonar
  • v6.0.0 protected
  • bedran_exercise-list
  • ask-user-to-delete-exercises-on-duplicates
  • update-dependencies
  • jw_sonar_backup
  • add_route_assignments
  • 6.0.0-dev
  • 5.0.1
  • 5.0.0
  • 4.1.0
  • 4.0.0
  • 3.5.3
  • 3.5.2
  • 3.5.1
  • 3.5.0
  • 3.4.2
  • 3.4.1
  • 3.4.0
  • 3.3.0
  • 3.2.0
  • 3.1.3
  • 3.1.2
  • 3.1.1
  • 3.1.0
  • 3.0.1
  • 3.0.0
29 results

Dockerfile_ExpressAPI

Blame
  • 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"]