Dockerfile 746 B

12345678910111213141516171819202122232425262728293031323334353637
  1. FROM node:16.15 AS frontend_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:16.15 AS musare_frontend
  8. ARG FRONTEND_MODE=prod
  9. ENV FRONTEND_MODE=${FRONTEND_MODE}
  10. ENV SUPPRESS_NO_CONFIG_WARNING=1
  11. ENV NODE_CONFIG_DIR=./dist/config
  12. RUN apt-get update
  13. RUN apt-get install nginx -y
  14. RUN mkdir -p /opt/types
  15. RUN mkdir -p /opt/app
  16. WORKDIR /opt/app
  17. COPY . /opt/app
  18. COPY --from=frontend_node_modules /opt/app/node_modules node_modules
  19. RUN mkdir -p /run/nginx
  20. RUN bash -c '([[ "${FRONTEND_MODE}" == "dev" ]] && exit 0) || npm run prod'
  21. RUN chmod u+x entrypoint.sh
  22. ENTRYPOINT bash /opt/app/entrypoint.sh
  23. EXPOSE 80/tcp