From 2965acea0ff9bc7051d3aa7e6c9177ef89d22446 Mon Sep 17 00:00:00 2001 From: pblaesi Date: Mon, 1 Aug 2022 14:10:49 +0200 Subject: [PATCH] (feat) dockerize --- .dockerignore | 8 ++++++++ Dockerfile | 17 +++++++++++++++++ package.json | 8 +++++--- 3 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..c6dbfdc --- /dev/null +++ b/.dockerignore @@ -0,0 +1,8 @@ +.idea +data +node_modules +.dockerignore +.eslintrc +.prettierignore +.prettierrc.json +*.iml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0833975 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM node:16-alpine as build +RUN mkdir /build +WORKDIR /build +COPY package*.json ./ +RUN npm ci +COPY tsconfig.json ./ +COPY src/ src/ +RUN npm run build + +FROM node:16-alpine +RUN mkdir /app +COPY --from=build /build/dist ./ +COPY --from=build /build/node_modules/ ./node_modules/ +COPY --from=build /build/package.json . +EXPOSE 3000 +VOLUME /app/data +ENTRYPOINT [ "node", "server.js" ] diff --git a/package.json b/package.json index 5eed6c0..9245b55 100644 --- a/package.json +++ b/package.json @@ -2,11 +2,13 @@ "name": "jira-graph", "version": "1.0.0", "scripts": { - "dev": "run-p copy-resources run-dev", + "dev": "run-p watch-resources run-dev", "run-dev": "nodemon src/server.ts", - "copy-resources": "cpx src/public/**/* dist/public -w", + "watch-resources": "cpx src/public/**/* dist/public -w", + "copy-resources": "cpx src/public/**/* dist/public", "prettyprint": "prettier --write .", - "build": "tsc --project tsconfig.json" + "build": "run-s copy-resources ts-build", + "ts-build": "tsc --project tsconfig.json" }, "type": "module", "dependencies": {