diff --git a/services/filestore/Dockerfile b/services/filestore/Dockerfile index eb03c3257b..c3070f5a3e 100644 --- a/services/filestore/Dockerfile +++ b/services/filestore/Dockerfile @@ -1,27 +1,24 @@ -FROM node:8.9.1 +FROM node:8.9.1 as app + +COPY ./ /app WORKDIR /app -COPY package.json /app/ +RUN npm install -RUN npm install --quiet - - -COPY . /app RUN npm run compile:all FROM node:8.9.1 -COPY --from=0 /app /app -# All app and node_modules will be owned by root. -# The app will run as the 'app' user, and so not have write permissions -# on any files it doesn't need. -RUN useradd --user-group --create-home --home-dir /app --shell /bin/false app -RUN chown app:app /app/uploads +COPY --from=app /app /app -USER app WORKDIR /app -EXPOSE 3009 +# All app and node_modules will be owned by root. +# The app will run as the 'node' user, and so not have write permissions +# on any files it doesn't need. +RUN ./install_deps.sh + +USER node CMD ["node","app.js"] diff --git a/services/filestore/install_deps.sh b/services/filestore/install_deps.sh new file mode 100755 index 0000000000..dceb2a7d8a --- /dev/null +++ b/services/filestore/install_deps.sh @@ -0,0 +1,4 @@ +#!/bin/sh +apt-get install poppler-utils vim ghostscript imagemagick optipng --yes +npm rebuild +chown -R node:node /app/uploads