From e09a4f8389c31b3a535fbdc356513acf171f1d1e Mon Sep 17 00:00:00 2001 From: Marcos Date: Sun, 22 Mar 2026 21:56:41 -0300 Subject: [PATCH] Build: Updated Dockerfile to Node 22 + Nginx (Standard for VPS). --- Dockerfile | 51 +++++++++++++++++++-------------------------------- 1 file changed, 19 insertions(+), 32 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4349c78..558cf34 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,39 +1,26 @@ -# Use Node.js 18 Alpine como base -FROM node:18-alpine AS base +# Build stage +FROM node:22-alpine AS build -# Instalar pnpm -RUN npm install -g pnpm +# Build-time environment variables +ARG VITE_SUPABASE_URL +ARG VITE_SUPABASE_ANON_KEY + +# Update packages for security +RUN apk update && apk upgrade --no-cache -# Definir diretório de trabalho WORKDIR /app - -# Copiar arquivos de dependências -COPY package.json pnpm-lock.yaml ./ - -# Instalar dependências -RUN pnpm install --frozen-lockfile - -# Copiar código fonte +COPY package*.json ./ +RUN npm install --frozen-lockfile || npm install COPY . . +RUN npm run build -# Build da aplicação -RUN pnpm run build +# Production stage +FROM nginx:alpine -# Estágio de produção -FROM node:18-alpine AS production +# Update packages for security +RUN apk update && apk upgrade --no-cache -# Instalar pnpm e serve -RUN npm install -g pnpm serve - -# Definir diretório de trabalho -WORKDIR /app - -# Copiar arquivos buildados -COPY --from=base /app/dist ./dist -COPY --from=base /app/package.json ./ - -# Expor porta -EXPOSE $PORT - -# Comando para iniciar o servidor -CMD ["sh", "-c", "serve -s dist -l ${PORT:-3000}"] \ No newline at end of file +COPY --from=build /app/dist /usr/share/nginx/html +# Nginx default listen 80 +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file