modified: main_dc/yalarba/easySite/easySite/Dockerfile

simplyfy the Dockerfile into easysite
This commit is contained in:
2025-10-28 21:48:30 +05:00
parent bd4cc23101
commit 6e5ccb95b6
+7 -35
View File
@@ -1,49 +1,21 @@
FROM node:20-alpine AS builder
# Установка системных зависимостей
RUN apk add --no-cache \
python3 \
make \
g++ \
libc6-compat
FROM node:20-alpine
WORKDIR /app
# Копируем только package files сначала
COPY package*.json ./
COPY nuxt.config.ts ./
COPY tsconfig.json ./
# Устанавливаем ВСЕ зависимости (включая dev)
# Увеличиваем память
ENV NODE_OPTIONS="--max-old-space-size=4096"
RUN npm ci
# Копируем исходный код
COPY . .
# Увеличиваем память для Node.js
ENV NODE_OPTIONS="--max-old-space-size=2048"
# Собираем приложение с таймаутом
RUN timeout 300 npm run build || echo "Build might have timed out but continuing"
FROM node:20-alpine AS production
WORKDIR /app
# Копируем только production зависимости
COPY --from=builder /app/package*.json ./
RUN npm ci --only=production && npm cache clean --force
# Копируем собранное приложение
COPY --from=builder /app/.output ./.output
# Создаем пользователя
RUN addgroup -g 1001 -S nodejs && \
adduser -S nuxtjs -u 1001 && \
chown -R nuxtjs:nodejs /app
USER nuxtjs
# Собираем без таймаута
RUN npm run build
EXPOSE 3000
CMD ["node", ".output/server/index.mjs"]
CMD ["npm", "run", "start"]