# Dockerfile
FROM node:20-alpine

# Установка зависимых системных библиотек (для sharp и других)
RUN apk add --no-cache \
    python3 \
    make \
    g++ \
    libc6-compat

WORKDIR /app

# Копируем package files
COPY package*.json ./
COPY nuxt.config.ts ./
COPY tsconfig.json ./

# Устанавливаем зависимости
RUN npm ci

# Копируем исходный код
COPY . .

# Собираем приложение
RUN npm run build

# Создаем непривилегированного пользователя для безопасности
RUN addgroup -g 1001 -S nodejs
RUN adduser -S nuxtjs -u 1001

# Меняем владельца файлов
RUN chown -R nuxtjs:nodejs /app

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

# Экспортируем порт
EXPOSE 3000

# Запускаем приложение
CMD ["npm", "run", "start"]