Dockerfile 597 B

1234567891011121314151617181920212223242526272829
  1. FROM node:18 AS backend_node_modules
  2. RUN mkdir -p /opt/app
  3. WORKDIR /opt/app
  4. COPY package.json /opt/app/package.json
  5. COPY package-lock.json /opt/app/package-lock.json
  6. RUN npm install --silent
  7. FROM node:18 AS musare_backend
  8. ARG BACKEND_MODE=prod
  9. ENV BACKEND_MODE=${BACKEND_MODE}
  10. RUN mkdir -p /opt/app /opt/types
  11. WORKDIR /opt/app
  12. COPY . /opt/app
  13. COPY --from=backend_node_modules /opt/app/node_modules node_modules
  14. RUN bash -c '([[ "${BACKEND_MODE}" == "dev" ]] && exit 0) || npm run build'
  15. RUN chmod u+x entrypoint.sh
  16. ENTRYPOINT bash /opt/app/entrypoint.sh
  17. EXPOSE 8080/tcp
  18. EXPOSE 8080/udp