Dockerfile template
Common usage
FROM node:16-alpine
# make the 'app' folder the current working directory
WORKDIR /app
# setup ENV
ENV MODE=development
# copy src code
COPY . .
# Run command such as apk / apt-get
RUN apk add --no-cache chromium ca-certificates \
# install project dependencies
&& npm install \
# Run npm script
&& npm run xxxxxx \
# Add user, chmod, chown...etc
&& chmod +x /usr/local/bin/xxxxxx \
&& addgroup -S xxxxuser_grp && adduser -S -G xxxxuser_grp xxxuser \
&& chown -R xxxxuser_grp:xxxuser /home/xxxx \
# Run as xxxx user
USER xxxuser
# expose certain ports
EXPOSE 8080 3000
# entry command
# Or ENTRYPOINT [ "/opt/app/run.sh", "--port", "8080" ]
CMD [ "npm", "run", "xxxxx" ]