diff --git a/Dockerfile b/Dockerfile index cb5c89f..6edcd97 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,53 +1,22 @@ -# ============================== -# STAGE 1: Build da aplicação -# ============================== -FROM node:20-alpine AS builder +# Use uma imagem Node.js completa para o desenvolvimento +FROM node:20-alpine +# Define o diretório de trabalho no container 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 - +# Copia os arquivos de configuração do projeto COPY package.json package-lock.json ./ -RUN npm ci --include=dev --legacy-peer-deps +# Instala todas as dependências do projeto +# Isso é necessário para o modo de desenvolvimento, pois o build não pré-compila os arquivos. +RUN npm install +# Copia o restante do código da sua aplicação 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 - +# Expõe a porta de desenvolvimento padrão do Next.js EXPOSE 3000 -# ✅ Corrigido: executa o server.js que está dentro do standalone -CMD ["node", "server.js"] +# Define o comando para iniciar a aplicação em modo de desenvolvimento +# Isso ativará o servidor de desenvolvimento e a recarga automática +CMD ["npm", "run", "dev"]