FROM node:20-slim

# Instalar o Chromium e fontes necessárias para o funcionamento correto do Puppeteer
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
      chromium \
      fonts-ipafont-gothic \
      fonts-wqy-zenhei \
      fonts-thai-tlwg \
      fonts-khmeros \
      fonts-kacst \
      fonts-freefont-ttf \
      libxss1 \
    && rm -rf /var/lib/apt/lists/*

# Configurar variáveis de ambiente do Puppeteer
# Ignora o download automático do Chrome no npm install e define o caminho do Chromium instalado no sistema
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true \
    PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium

WORKDIR /app

# Copiar arquivos de dependências
COPY package*.json ./

# Instalar dependências de produção
RUN npm ci --only=production

# Copiar o restante dos arquivos do projeto
COPY . .

EXPOSE 3001

CMD ["npm", "start"]
