43 lines
927 B
Docker
43 lines
927 B
Docker
# =========================
|
|
# Etapa 1 - Build Vite
|
|
# =========================
|
|
FROM node:20-alpine AS build
|
|
|
|
# Diretório de trabalho
|
|
WORKDIR /app
|
|
|
|
# Instalar unzip
|
|
RUN apk add --no-cache unzip
|
|
|
|
# Copiar o ZIP
|
|
COPY app.zip .
|
|
|
|
# Descompactar conteúdo diretamente em /app
|
|
RUN unzip app.zip -d . && rm app.zip
|
|
|
|
# (DEBUG OPCIONAL: ver se o package.json está aqui)
|
|
# RUN pwd && ls -la && ls -la src
|
|
|
|
# Instalar dependências e buildar
|
|
# Se quiser pode trocar npm ci por npm install
|
|
RUN npm ci || npm install
|
|
RUN npm run build
|
|
|
|
# =========================
|
|
# Etapa 2 - Nginx estático
|
|
# =========================
|
|
FROM nginx:alpine
|
|
|
|
# Remover completamente a página padrão do nginx
|
|
RUN rm -rf /usr/share/nginx/html/*
|
|
|
|
# Copiar o build do Vite
|
|
COPY --from=build /app/dist/ /usr/share/nginx/html/
|
|
|
|
# (DEBUG OPCIONAL: ver o que ficou na pasta pública)
|
|
# RUN ls -R /usr/share/nginx/html
|
|
|
|
EXPOSE 80
|
|
|
|
CMD ["nginx", "-g", "daemon off;"]
|