initial commit
Build and Push Docker Images / build-and-push (push) Failing after 3m33s

This commit is contained in:
admin committed 2026-11-07 16:39:43 +03:00
commit 46af290db3
100 files changed
+16663

No files matched your search

+55
View File
@@ -0,0 +1,55 @@
# Этап 1: Установка зависимостей
FROM node:20-alpine AS deps
WORKDIR /app
# Копируем package.json и package-lock.json
COPY package.json package-lock.json* ./
# Устанавливаем зависимости
RUN npm ci --only=production
# Этап 2: Сборка приложения
FROM node:20-alpine AS builder
WORKDIR /app
# Копируем зависимости из предыдущего этапа
COPY --from=deps /app/node_modules ./node_modules
COPY . .
# Переменные окружения для сборки (если нужны)
ENV NEXT_TELEMETRY_DISABLED=1
# Сборка Next.js
RUN npm run build
# Этап 3: Production runtime
FROM node:20-alpine AS runner
WORKDIR /app
# Переменные окружения
ENV NODE_ENV=production \
NEXT_TELEMETRY_DISABLED=1 \
PORT=3000 \
HOSTNAME="0.0.0.0"
# Создаём группу и пользователя для безопасности
RUN addgroup --system --gid 1001 nodejs \
&& adduser --system --uid 1001 nextjs
# Копируем собранные файлы из builder
# Standalone output содержит только необходимое для запуска
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
COPY --from=builder /app/public ./public
# Устанавливаем владельца файлов
RUN chown -R nextjs:nodejs /app
# Переключаемся на непривилегированного пользователя
USER nextjs
# Открываем порт
EXPOSE 3000
# Команда запуска
CMD ["node", "server.js"]