# ---- Build Stage ---- FROM node:22-alpine AS builder WORKDIR /app # Copiar package files e instalar dependências COPY package.json ./ RUN npm install # Copiar todo o código fonte COPY . . # Build da aplicação (gera a pasta /app/dist) RUN npm run build # ---- Production Stage ---- FROM node:22-alpine AS production WORKDIR /app # Copiar package files e instalar apenas dependências de produção COPY package.json ./ RUN npm install --omit=dev # Copiar o servidor Express e pastas necessárias COPY server.js ./ COPY services ./services # Copiar a pasta dist gerada no build COPY --from=builder /app/dist ./dist # Expor a porta do servidor EXPOSE 3000 # Comando para iniciar o servidor em modo produção CMD ["node", "server.js"]