Files
node-template-express/Dockerfile
2020-11-13 09:09:21 +01:00

40 lines
926 B
Docker

FROM node:12-alpine
# set app user
RUN addgroup --gid 800 appuser && \
adduser --uid 800 --ingroup appuser --disabled-password --gecos "" appuser && \
mkdir /app && \
chown appuser:appuser /app
USER appuser
WORKDIR /app
# add proxy configuration
USER root
COPY ./bio-proxy-configuration-for-docker /tmp/bio-data
ARG add_proxy
RUN if [ -n "$add_proxy" ] ; then sed -i 's/\r$//g' /tmp/bio-data/alpine-based.sh && \
chmod a+x /tmp/bio-data/alpine-based.sh && \
/tmp/bio-data/alpine-based.sh && \
rm -r /tmp/bio-data ; fi
USER appuser
# copy data
COPY . .
# install
RUN npm run install-prod
ENV NODE_ENV production
# cleanup
USER root
RUN rm -r ./src ./public/js-source ./bio-proxy-configuration-for-docker && \
npm cache clean --force
USER appuser
# healthcheck
HEALTHCHECK --interval=10s --timeout=2s --start-period=15s \
CMD node ./out/healthcheck.js
# set command
CMD npm run production