Dockerfile 478 B

123456789101112131415161718192021222324252627
  1. FROM node:18-slim
  2. # add curl for healthcheck
  3. RUN apt-get update \
  4. && apt-get install -y --no-install-recommends \
  5. curl \
  6. tini \
  7. && rm -rf /var/lib/apt/lists/*
  8. WORKDIR /app
  9. # have nodemon available for local dev use (file watching)
  10. RUN npm install -g nodemon
  11. COPY package*.json ./
  12. RUN npm ci \
  13. && npm cache clean --force \
  14. && mv /app/node_modules /node_modules
  15. COPY . .
  16. ENV PORT 80
  17. EXPOSE 80
  18. ENTRYPOINT ["/usr/bin/tini", "--"]
  19. CMD ["node", "server.js"]