Добавлен упрощенный Dockerfile для быстрой первой сборки

This commit is contained in:
DeepAgent
2025-10-27 15:02:23 +00:00
parent f7eb6ddb1a
commit a63e9770d2

58
Dockerfile.simple Normal file
View File

@@ -0,0 +1,58 @@
# Простой Dockerfile для быстрой первой сборки
# Без многоступенчатой сборки - быстрее, но больше размер
FROM node:18-alpine
# Устанавливаем необходимые пакеты
RUN apk add --no-cache \
libc6-compat \
openssl
WORKDIR /app
# Копируем package.json и yarn.lock
COPY nextjs_space/package.json nextjs_space/yarn.lock ./
# Оптимизация: пропускаем ненужные бинарники
ENV SKIP_SASS_BINARY_DOWNLOAD_FOR_CI=true
ENV CYPRESS_INSTALL_BINARY=0
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
ENV NEXT_TELEMETRY_DISABLED=1
# Устанавливаем ВСЕ зависимости (нужны для сборки)
# Но используем оптимизацию для ускорения
RUN yarn install --frozen-lockfile --network-timeout 300000
# Копируем остальные файлы
COPY nextjs_space/ ./
# Генерируем Prisma Client
RUN npx prisma generate
# Переменные окружения для сборки
ARG NEXT_PUBLIC_SITE_URL
ENV NEXT_PUBLIC_SITE_URL=${NEXT_PUBLIC_SITE_URL:-http://localhost:3000}
ENV NODE_ENV=production
# Собираем приложение
RUN yarn build
# Удаляем dev-зависимости после сборки (экономия места)
RUN yarn install --production --frozen-lockfile --ignore-scripts
# Создаем пользователя для безопасности
RUN addgroup --system --gid 1001 nodejs && \
adduser --system --uid 1001 nextjs
# Меняем владельца файлов
RUN chown -R nextjs:nodejs /app
USER nextjs
EXPOSE 3000
ENV PORT=3000
ENV HOSTNAME="0.0.0.0"
# Запускаем приложение
CMD ["yarn", "start"]