Build: Updated Dockerfile to Node 22 + Nginx (Standard for VPS).

This commit is contained in:
Marcos
2026-03-22 21:56:41 -03:00
parent e198eb3b09
commit e09a4f8389

View File

@@ -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}"]
COPY --from=build /app/dist /usr/share/nginx/html
# Nginx default listen 80
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]