From ae957e1b6c31d5ee08b91e3b748e1b9a89c20e4c Mon Sep 17 00:00:00 2001 From: MaryWylde Date: Mon, 23 Feb 2026 15:55:01 +0400 Subject: [PATCH 1/4] chore: change Docker and Next configs --- Dockerfile | 39 +++++++++++++++++++++++++-------------- next.config.js | 1 + 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index f5f1999..06ca3d8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,22 +1,33 @@ -FROM node:20.19.0 AS base +FROM node:20.19.0-alpine AS deps + WORKDIR /app -FROM base AS deps -COPY package.json yarn.lock ./ -RUN yarn install --frozen-lockfile +# Install dependencies (use lockfile if present for reproducible builds) +COPY package.json yarn.lock* ./ +RUN if [ -f yarn.lock ]; then yarn install --frozen-lockfile; else yarn install; fi -FROM base AS builder -COPY --from=deps /app/node_modules ./node_modules -COPY . . -RUN yarn run build +FROM node:20.19.0-alpine AS builder -FROM base AS runner +WORKDIR /app ENV NODE_ENV=production + +COPY . . +COPY --from=deps /app/node_modules ./node_modules + +RUN yarn run build:staging + +FROM node:20.19.0-alpine AS runner + WORKDIR /app -COPY --from=builder /app/package.json ./package.json -COPY --from=builder /app/next.config.js ./next.config.js +ENV NODE_ENV=production +ENV NEXT_TELEMETRY_DISABLED=1 +ENV PORT=3005 + +# Copy only the minimal standalone output COPY --from=builder /app/public ./public -COPY --from=builder /app/.next ./.next -COPY --from=builder /app/node_modules ./node_modules +COPY --from=builder /app/.next/standalone ./ +COPY --from=builder /app/.next/static ./.next/static + EXPOSE 3005 -CMD ["yarn", "run", "start:staging"] + +CMD ["node", "server.js"] diff --git a/next.config.js b/next.config.js index d9b71a4..a90ddda 100644 --- a/next.config.js +++ b/next.config.js @@ -20,6 +20,7 @@ module.exports = async () => { defaultLocale: 'en', }, assetPrefix: isLocal ? '' : '/uxcore_next', + output: 'standalone', async rewrites() { return [ { From 20e4df8b16d4a37efd87da566556cc924ea9058e Mon Sep 17 00:00:00 2001 From: MaryWylde Date: Tue, 24 Feb 2026 16:40:00 +0400 Subject: [PATCH 2/4] chore: testing docker compose file --- docker-compose.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 21a9a41..e6bd8e5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,5 +1,10 @@ services: - web: - build: . + app: + build: + context: . + dockerfile: Dockerfile ports: - "3005:3005" + environment: + - NEXTAUTH_SECRET=${NEXTAUTH_SECRET} + - NEXTAUTH_URL=${NEXTAUTH_URL} From b969b4ec7ba004b5dc3dba06ce2a995fdb6dc83a Mon Sep 17 00:00:00 2001 From: MaryWylde Date: Tue, 24 Feb 2026 18:09:10 +0400 Subject: [PATCH 3/4] chore: remove env from next.config --- next.config.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/next.config.js b/next.config.js index a90ddda..7aca8ce 100644 --- a/next.config.js +++ b/next.config.js @@ -48,9 +48,6 @@ module.exports = async () => { experimental: { manualClientBasePath: true, }, - env: { - NEXTAUTH_URL: process.env.NEXTAUTH_URL, - }, compiler: { removeConsole: process.env.NODE_ENV === 'prod' ? { exclude: ['error'] } : false, From 01121fb618a7eca9fa7696c2e5966fb19b8cb17f Mon Sep 17 00:00:00 2001 From: Gor Saribekyan Date: Wed, 25 Feb 2026 14:06:17 +0400 Subject: [PATCH 4/4] test --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dockerfile b/Dockerfile index 06ca3d8..b6a8ae4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,7 +27,9 @@ ENV PORT=3005 COPY --from=builder /app/public ./public COPY --from=builder /app/.next/standalone ./ COPY --from=builder /app/.next/static ./.next/static +COPY --from=builder /app/.env ./.env EXPOSE 3005 CMD ["node", "server.js"] +