This commit is contained in:
2025-09-16 15:43:36 +05:00
commit 111cc834dd
17 changed files with 2078 additions and 0 deletions

41
dockerfile Normal file
View File

@ -0,0 +1,41 @@
# Многоэтапная сборка для минимального размера образа
FROM node:18-alpine AS builder
WORKDIR /app
# Копируем package.json и package-lock.json (если есть)
COPY package*.json ./
# Устанавливаем зависимости
RUN npm ci
# Копируем исходный код
COPY . .
# Собираем приложение
RUN npm run build
RUN npm prune --production
# Финальный образ с nginx
FROM nginx:alpine
# Копируем собранное приложение
COPY --from=builder /app/dist /usr/share/nginx/html
# Копируем конфигурацию nginx для SPA
COPY nginx.conf /etc/nginx/conf.d/default.conf
# Открываем порт 80
EXPOSE 80
# Запускаем nginx
CMD ["nginx", "-g", "daemon off;"]