modified: main_dc/yalarba/easySite/easySite/Dockerfile

change the Docerfile
This commit is contained in:
2025-10-28 07:30:47 +05:00
parent e7c5123f14
commit 32b0754395
+27 -13
View File
@@ -1,27 +1,41 @@
# Multi-stage build
FROM node:20-alpine AS builder
# 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
FROM node:20-alpine AS production
RUN apk add --no-cache curl
WORKDIR /app
COPY --from=builder /app/package*.json ./
RUN npm ci --only=production
COPY --from=builder /app/.output ./.output
# Создаем непривилегированного пользователя для безопасности
RUN addgroup -g 1001 -S nodejs
RUN adduser -S nuxtjs -u 1001
# Меняем владельца файлов
RUN chown -R nuxtjs:nodejs /app
# Переключаемся на непривилегированного пользователя
USER nuxtjs
# Экспортируем порт
EXPOSE 3000
CMD ["node", ".output/server/index.mjs"]
# Запускаем приложение
CMD ["npm", "run", "start"]