Dockerfile 486 B

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