Dockerfile 664 B

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