diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..7ea45522 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +FROM node:5.1 +MAINTAINER Pelias + +EXPOSE 3100 +LABEL io.openshift.expose-services 3100:http + +# Where the app is built and run inside the docker fs +ENV WORK=/opt/pelias + +# Used indirectly for saving npm logs etc. +ENV HOME=/opt/pelias + +WORKDIR ${WORK} +ADD . ${WORK} + +# Build and set permissions for arbitary non-root user +RUN npm install && \ + npm test && \ + chmod -R a+rwX . + +# Don't run as root, because there's no reason to (https://docs.docker.com/engine/articles/dockerfile_best-practices/#user). +# This also reveals permission problems on local Docker. +RUN chown -R 9999:9999 ${WORK} +USER 9999 + +CMD npm start