# ============================== # STAGE 1: Build da aplicação # ============================== FROM node:20-alpine AS builder WORKDIR /app ARG HTTP_PROXY ARG HTTPS_PROXY ENV NPM_CONFIG_HTTP_PROXY=$HTTP_PROXY ENV NPM_CONFIG_HTTPS_PROXY=$HTTPS_PROXY ENV NPM_CONFIG_TIMEOUT=600000 COPY package.json package-lock.json ./ RUN npm ci --include=dev --legacy-peer-deps COPY . . RUN mkdir -p src/config && \ if [ ! -f src/config/app.json ]; then \ echo '{ "APP_NAME": "Orius SaaS", "API_URL": "https://api.oriustecnologia.com" }' > src/config/app.json; \ fi ENV NODE_ENV=production RUN npm run build -- --no-lint # ============================== # STAGE 2: Imagem final (produção) # ============================== FROM node:20-alpine AS runner WORKDIR /app # Copia todo o conteúdo standalone, incluindo o server.js COPY --from=builder --chown=nodejs:nodejs /app/.next/standalone ./ # Copia apenas os assets necessários COPY --from=builder --chown=nodejs:nodejs /app/.next/static ./.next/static COPY --from=builder --chown=nodejs:nodejs /app/public ./public COPY --from=builder --chown=nodejs:nodejs /app/src/config ./src/config RUN addgroup -g 1001 nodejs && adduser -u 1001 -G nodejs -s /bin/sh -D nodejs USER nodejs ENV NODE_ENV=production ENV PORT=3000 ENV HOSTNAME=0.0.0.0 EXPOSE 3000 # ✅ Corrigido: executa o server.js que está dentro do standalone CMD ["node", "server.js"]