From a94a46ad98746d7401f0f2a263e2a2a53d7dbf59 Mon Sep 17 00:00:00 2001 From: DrMesta103 Date: Sun, 3 May 2026 07:37:30 +0330 Subject: [PATCH] add docker file --- .dockerignore | 22 ++++++++++++++++++++++ Dockerfile | 26 ++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 .dockerignore create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..cdc7c6a --- /dev/null +++ b/.dockerignore @@ -0,0 +1,22 @@ +node_modules +dist +coverage +.git +.gitignore +.dockerignore +Dockerfile +README.md +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +.env +.env.* +.vscode +.idea +.DS_Store +*.log +tmp +temp +.temp +.tmp diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..76d0c20 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,26 @@ +FROM node:22-alpine AS base +WORKDIR /app + +FROM base AS deps +COPY package*.json ./ +RUN npm ci + +FROM deps AS build +COPY . . +RUN mkdir -p uploads +RUN npm run build +RUN npm prune --omit=dev + +FROM node:22-alpine AS runtime +WORKDIR /app +ENV NODE_ENV=production + +COPY --from=build /app/package*.json ./ +COPY --from=build /app/node_modules ./node_modules +COPY --from=build /app/dist ./dist +COPY --from=build /app/src/templates ./src/templates +COPY --from=build /app/uploads ./uploads + +EXPOSE 4000 + +CMD ["npm", "run", "start:prod"]