Dockerfile 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. FROM node:18 AS frontend_node_modules
  2. RUN mkdir -p /opt/app
  3. WORKDIR /opt/app
  4. COPY frontend/package.json /opt/app/package.json
  5. COPY frontend/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 frontend /opt/app
  30. COPY .git /opt/app/.git
  31. COPY --from=frontend_node_modules /opt/app/node_modules node_modules
  32. RUN mkdir -p /run/nginx
  33. RUN bash -c '([[ "${FRONTEND_MODE}" == "development" ]] && exit 0) || npm run prod'
  34. RUN chmod u+x entrypoint.sh
  35. ENTRYPOINT bash /opt/app/entrypoint.sh
  36. EXPOSE 80/tcp