server.dockerfile 961 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. FROM node:18 as build_helper
  2. ARG HOME="/home/node"
  3. ARG APPDIR="${HOME}/monitoring"
  4. RUN mkdir ${APPDIR}
  5. WORKDIR ${APPDIR}
  6. COPY ./ng/package.json ./ng/
  7. RUN cd ng && npm install
  8. COPY ./server/package.json ./server/
  9. RUN cd server && npm install
  10. COPY ./common/ ./common
  11. COPY ./bootstrap-theme/ ./bootstrap-theme
  12. COPY ./ng/ ./ng
  13. RUN cd ng && npm run build
  14. COPY ./server/tsconfig* ./server/
  15. COPY ./server/src/ ./server/src
  16. RUN cd ${APPDIR}/server && npm run build
  17. FROM node:18
  18. ARG HOME="/home/node"
  19. ARG APPDIR="${HOME}/monitoring"
  20. RUN mkdir ${APPDIR}
  21. WORKDIR ${APPDIR}
  22. COPY --from=build_helper --chown=node:node ${APPDIR}/server/dist/ ./dist
  23. COPY --from=build_helper --chown=node:node ${APPDIR}/server/public/ ./public
  24. COPY --chown=node:node ./server/google-cloud/ ./google-cloud
  25. COPY --chown=node:node ./server/package.json .
  26. RUN npm install --omit=dev
  27. COPY ./server/database.json .
  28. RUN mkdir data
  29. VOLUME ${APPDIR}/data
  30. EXPOSE 80
  31. CMD [ "node" , "." ]