The frontend/UI server, written in JS using the MarkoJS library
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
864 B

6 years ago
6 years ago
  1. ## 1. Builder
  2. # Use nodejs 10
  3. FROM node:10-alpine AS builder
  4. # Load repository into container
  5. WORKDIR /rpdata-frontend
  6. COPY . .
  7. # Setup development environment
  8. RUN apk add --no-cache git
  9. # Erease all traces of browser-refresh
  10. RUN sed -i '/browser-refresh/d' ./marko/page/layout.marko
  11. RUN sed -i '/browser-refresh/d' ./package.json
  12. # Install and compress node_modules
  13. RUN rm -rf node_modules
  14. RUN mkdir node_modules
  15. RUN npm install -g modclean
  16. RUN npm install
  17. RUN npm dedupe
  18. RUN modclean -r
  19. # Remove dev stuff
  20. RUN rm -rf .static
  21. RUN rm -rf .cache
  22. RUN rm -rf .git
  23. # Build templates
  24. RUN node build.js
  25. ## 2. Regroup
  26. FROM node:10-alpine
  27. RUN apk add --no-cache ca-certificates
  28. # Bring data over from builder
  29. WORKDIR /rpdata-frontend
  30. COPY --from=builder /rpdata-frontend /rpdata-frontend
  31. ENV NODE_ENV=production
  32. # Entry point
  33. CMD ["/usr/local/bin/node", "server"]