diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f2d72f3 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,41 @@ +FROM node:9.11.2-alpine + +LABEL maintainer="Andreas Peters " +#Upstream URL: https://git.aventer.biz/AVENTER/docker-matrix-dimension + +RUN apk update && \ + apk add bash gcc python make g++ sqlite && \ + mkdir /home/node/.npm-global && \ + mkdir -p /home/node/app + +COPY ./docker-entrypoint.sh / +COPY . /home/node/matrix-dimension + + +RUN chown -R node:node /home/node/app && \ + chown -R node:node /home/node/.npm-global && \ + chown -R node:node /home/node/matrix-dimension + +USER node + +ENV PATH=/home/node/.npm-global/bin:$PATH +ENV NPM_CONFIG_PREFIX=/home/node/.npm-global + +RUN cd /home/node/matrix-dimension && \ + npm install -D wd rimraf webpack webpack-command sqlite3 && \ + NODE_ENV=production npm run-script build:web && npm run-script build:app + +USER root + +RUN apk del gcc make g++ && \ + rm /home/node/matrix-dimension/Dockerfile && \ + rm /home/node/matrix-dimension/docker-entrypoint.sh + +USER node + +VOLUME ["/data"] + +EXPOSE 8184 +#CMD ["/bin/sh"] +ENTRYPOINT ["/docker-entrypoint.sh"] + diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100755 index 0000000..ef8194b --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -e + +cd /home/node/matrix-dimension/ + +if [ -f "/data/config.yaml" ]; then + cp /data/config.yaml /home/node/matrix-dimension/config/production.yaml + NODE_ENV=production node build/app/index.js +else + cp /home/node/matrix-dimension/config/default.yaml /data/config.yaml + echo "A default config file has been placed in the /data/ volume please review and make any required changes and start the container again" +fi