# simple docker file
# assumes located in the same folder as the application itself

# start with node 5 base image
FROM node:5.0

# run as non-root user inside the docker container
# see https://vimeo.com/171803492 at 17:20 mark
RUN groupadd -r nodejs && useradd -m -r -g nodejs nodejs
# now run as new user nodejs from group nodejs
USER nodejs

# Create an app directory (in the Docker container)
RUN mkdir -p /usr/src/demo-server
WORKDIR /usr/src/demo-server

# Copy .npm settings and package.json into container
COPY package.json /usr/src/demo-server
COPY .npmrc /usr/src/demo-server
# and install dependencies
RUN npm install

# Copy our source into container
COPY src /usr/src/demo-server/src
COPY server.js /usr/src/demo-server

# If our server uses 1337 by default
# expose it from Docker container
EXPOSE 1337

# Finally start the container command
CMD ["node", "server.js"]