From 42ef9af62b3913526e74f28dd59bdfa176ac9108 Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Sat, 13 Jun 2026 14:27:27 +0330 Subject: [PATCH] update docker --- .dockerignore | 12 ++++++++++++ Dockerfile | 30 ++++++++++++++++-------------- 2 files changed, 28 insertions(+), 14 deletions(-) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..0623ed4 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,12 @@ +node_modules +build +.git +.gitignore +coverage +.env +.env.* +*.md +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.DS_Store diff --git a/Dockerfile b/Dockerfile index 483334b..83cb493 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,25 +1,27 @@ +# syntax=docker/dockerfile:1 + FROM node:20-alpine AS builder -# RUN corepack enable yarn && corepack prepare yarn@latest --activate -# Install tzdata to support timezone settings -RUN apk add --no-cache tzdata - -# Set the timezone to Asia/Tehran -RUN cp /usr/share/zoneinfo/Asia/Tehran /etc/localtime && echo "Asia/Tehran" > /etc/timezone - WORKDIR /build -COPY package*.json ./ -RUN npm install -COPY . ./ + +COPY package.json package-lock.json ./ + +RUN --mount=type=cache,target=/root/.npm \ + npm ci + +COPY . . + +ENV NODE_ENV=production \ + CI=true \ + GENERATE_SOURCEMAP=false + RUN npm run build -FROM nginx:stable-alpine AS production-stage +FROM nginx:stable-alpine AS production +COPY nginx.conf /etc/nginx/conf.d/default.conf COPY --from=builder /build/build /usr/share/nginx/html -COPY --from=builder /build/nginx.con[f] /etc/nginx/conf.d/default.conf -RUN cat /etc/nginx/conf.d/default.conf - EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]