Dockerfile 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. ARG FRONTEND_PROD_DEVTOOLS=false
  10. ARG MUSARE_SITENAME=Musare
  11. ARG MUSARE_DEBUG_VERSION=true
  12. ARG MUSARE_DEBUG_GIT_REMOTE=false
  13. ARG MUSARE_DEBUG_GIT_REMOTE_URL=false
  14. ARG MUSARE_DEBUG_GIT_BRANCH=true
  15. ARG MUSARE_DEBUG_GIT_LATEST_COMMIT=true
  16. ARG MUSARE_DEBUG_GIT_LATEST_COMMIT_SHORT=true
  17. ENV FRONTEND_MODE=${FRONTEND_MODE} \
  18. FRONTEND_PROD_DEVTOOLS=${FRONTEND_PROD_DEVTOOLS} \
  19. MUSARE_SITENAME=${MUSARE_SITENAME} \
  20. MUSARE_DEBUG_VERSION=${MUSARE_DEBUG_VERSION} \
  21. MUSARE_DEBUG_GIT_REMOTE=${MUSARE_DEBUG_GIT_REMOTE} \
  22. MUSARE_DEBUG_GIT_REMOTE_URL=${MUSARE_DEBUG_GIT_REMOTE_URL} \
  23. MUSARE_DEBUG_GIT_BRANCH=${MUSARE_DEBUG_GIT_BRANCH} \
  24. MUSARE_DEBUG_GIT_LATEST_COMMIT=${MUSARE_DEBUG_GIT_LATEST_COMMIT} \
  25. MUSARE_DEBUG_GIT_LATEST_COMMIT_SHORT=${MUSARE_DEBUG_GIT_LATEST_COMMIT_SHORT}
  26. RUN apt update && apt install nginx -y
  27. RUN mkdir -p /opt/app /opt/types
  28. WORKDIR /opt/app
  29. COPY . /opt/app
  30. COPY --from=frontend_node_modules /opt/app/node_modules node_modules
  31. RUN mkdir -p /run/nginx
  32. RUN bash -c '([[ "${FRONTEND_MODE}" == "development" ]] && exit 0) || npm run prod'
  33. RUN chmod u+x entrypoint.sh
  34. ENTRYPOINT bash /opt/app/entrypoint.sh
  35. EXPOSE 80/tcp