edumanagerpro2/manager/Dockerfile

37 lines
749 B
Docker

# ---- 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"]