# Многоэтапная сборка для Angular приложения
FROM node:18-alpine AS builder

# Установка рабочей директории
WORKDIR /app

# Копирование package файлов
COPY package*.json ./

# Установка зависимостей
RUN npm ci --only=production

# Копирование исходного кода
COPY . .

# Сборка приложения
RUN npm run build:prod

# Финальный образ с nginx
FROM nginx:alpine

# Копирование собранного приложения
COPY --from=builder /app/dist/erp-mvp-frontend /usr/share/nginx/html

# Копирование конфигурации nginx
COPY nginx.conf /etc/nginx/nginx.conf

# Создание пользователя для безопасности
RUN addgroup -g 1001 -S appgroup && \
    adduser -u 1001 -S appuser -G appgroup

# Смена владельца файлов
RUN chown -R appuser:appgroup /usr/share/nginx/html && \
    chown -R appuser:appgroup /var/cache/nginx && \
    chown -R appuser:appgroup /var/log/nginx && \
    chown -R appuser:appgroup /etc/nginx/conf.d

# Переключение на непривилегированного пользователя
USER appuser

# Экспорт порта
EXPOSE 80

# Команда запуска
CMD ["nginx", "-g", "daemon off;"]
