astro-app/Dockerfile
2025-03-27 01:03:33 -04:00

39 lines
944 B
Docker

# ----------------------------
# STAGE 1: BUILD DO PROJETO
# ----------------------------
FROM node:20-alpine AS build
# Define o diretório de trabalho customizado
WORKDIR /var/app/usr/astro
# Copia apenas arquivos de dependência inicialmente (para cache)
COPY package*.json ./
# Instala as dependências do projeto
RUN npm install
# Copia todo o restante do projeto para o diretório
COPY . .
# Executa o build do Astro
RUN npm run build
# ----------------------------
# STAGE 2: PRODUÇÃO
# ----------------------------
FROM node:20-alpine AS production
# Define o mesmo caminho de trabalho
WORKDIR /var/app/usr/astro
# Instala servidor estático global
RUN npm install -g serve
# Copia os arquivos do build da imagem anterior
COPY --from=build /var/app/usr/astro/dist ./dist
# Expõe a porta 3000 (ou outra se quiser mudar depois)
EXPOSE 3000
# Comando para servir os arquivos da pasta dist
CMD ["serve", "dist", "-l", "3000"]