From 17b2064ed8f985c333af6d5acfdac167e484e877 Mon Sep 17 00:00:00 2001 From: aga Date: Wed, 6 May 2026 20:37:45 +0200 Subject: [PATCH] Use multi-stage Docker build --- .dockerignore | 3 ++- Dockerfile | 18 +++++++++++++++--- README.md | 4 ---- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/.dockerignore b/.dockerignore index b9fda02..420cc05 100644 --- a/.dockerignore +++ b/.dockerignore @@ -2,4 +2,5 @@ node_modules .git Dockerfile .env.local -.env \ No newline at end of file +.env +dist \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index db118bd..bfd28ed 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,25 @@ -FROM node:22-slim +FROM node:22-slim AS build WORKDIR /app COPY package*.json ./ +RUN npm ci -RUN npm ci --omit=dev +COPY tsconfig.json ./ +COPY src ./src + +RUN npm run build + +FROM node:22-slim -COPY dist ./dist +WORKDIR /app +ENV NODE_ENV=production ENV PORT=8080 +COPY package*.json ./ +RUN npm ci --omit=dev + +COPY --from=build /app/dist ./dist + CMD ["node", "dist/index.js"] \ No newline at end of file diff --git a/README.md b/README.md index fb323f6..6982595 100644 --- a/README.md +++ b/README.md @@ -259,10 +259,6 @@ gcloud auth configure-docker europe-west3-docker.pkg.dev 2. Build and tag the image -```bash -npm run build -``` - ```bash docker buildx build \ --platform linux/amd64 \