Dockerfile 599 B

123456789101112131415161718192021222324252627282930
  1. FROM node:lts AS deps
  2. WORKDIR ~/app
  3. # Install dependencies
  4. RUN curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm
  5. COPY package.json pnpm-lock.yaml ./
  6. RUN pnpm install --frozen-lockfile
  7. FROM node:lts AS builder
  8. WORKDIR ~/app
  9. # Copy dependencies
  10. COPY --from=deps ~/app/node_modules ./node_modules
  11. COPY . .
  12. # Build
  13. RUN curl -f https://get.pnpm.io/v6.16.js | node - add --global pnpm
  14. RUN pnpm run build
  15. FROM nginx:stable-alpine AS runner
  16. WORKDIR ~/app
  17. # Copy dist
  18. COPY --from=builder ~/app/dist /usr/share/nginx/html
  19. EXPOSE 80
  20. STOPSIGNAL SIGTERM
  21. CMD ["nginx", "-g", "daemon off;"]