diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..ec5ab1b1f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +FROM node:stretch-slim AS builder +USER node + +WORKDIR /home/node + +COPY --chown=node:node . . + +RUN npm install +RUN npm run build + +FROM node:stretch-slim + +WORKDIR /app + +COPY --from=builder --chown=appuser:appuser /home/node/node_modules node_modules +COPY --from=builder --chown=appuser:appuser /home/node/package.json . +COPY --from=builder --chown=appuser:appuser /home/node/packages packages +COPY --from=builder --chown=appuser:appuser /home/node/data/flows.json /root/.node-red/flows.json + + +EXPOSE 1880 + +CMD [ "npm", "start" ] diff --git a/docker-build.sh b/docker-build.sh new file mode 100755 index 000000000..9cc89f9e5 --- /dev/null +++ b/docker-build.sh @@ -0,0 +1,6 @@ +VERSION=$(grep -oE "\"version\": \"(\w*.\w*.\w*.\w*.\w*.)" package.json | cut -d\" -f4) + +docker build --rm --no-cache \ + --build-arg BUILD_DATE="$(date +"%Y-%m-%dT%H:%M:%SZ")" \ + --file Dockerfile \ + --tag sparkle-guide:$VERSION . \ No newline at end of file diff --git a/docker-run.sh b/docker-run.sh new file mode 100755 index 000000000..61f955cc7 --- /dev/null +++ b/docker-run.sh @@ -0,0 +1,4 @@ +#!/bin/bash +VERSION=$(grep -oE "\"version\": \"(\w*.\w*.\w*.\w*.\w*.)" package.json | cut -d\" -f4) + +docker run -p 1880:1880 -v "$(pwd)"/data/:/root/.node-red/ sparkle-guide:$VERSION & \ No newline at end of file