From f61cdc2b8cbf8dbd792f9b02fa0d379fb80d17a1 Mon Sep 17 00:00:00 2001 From: Pavel Kuzniatsou Date: Sat, 26 Nov 2022 22:52:52 +0100 Subject: [PATCH] feat: docker --- .dockerignore | 23 +++++++++++++++++++++++ .gitignore | 1 + Dockerfile | 18 ++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 000000000..bb6615b80 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,23 @@ +# Compiled output + +dist +node_modules + +# Test directory + +test + +# Files that not needed for the application itself + +.eslintrc.js +.gitignore + +README.md + +# IDEs + +.vscode + +# Git files + +.git diff --git a/.gitignore b/.gitignore index 8ec6a904d..b9218e655 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,4 @@ lerna-debug.log* .elasticbeanstalk/* !.elasticbeanstalk/*.cfg.yml !.elasticbeanstalk/*.global.yml + diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..507f3e6a3 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM node:14-alpine As base +WORKDIR /app +COPY package*.json ./ +RUN npm install +WORKDIR /app +COPY . . +RUN npm run build + +FROM node:14-alpine As application +COPY --from=base /app/package*.json ./ +RUN npm install --only=production +COPY --from=base /app/dist ./dist + +USER node +ENV PORT=8081 +EXPOSE 8081 + +CMD [ "node", "dist/main.js" ] \ No newline at end of file