# Ponte WhatsApp (Baileys). Container separado porque nao existe biblioteca Ruby
# que fale o protocolo do WhatsApp Web — e porque isolar a sessao num processo
# proprio evita que uma queda dela derrube o Puma.
FROM node:20-alpine

WORKDIR /app

# Baileys usa libs nativas de cripto em algumas plataformas.
RUN apk add --no-cache python3 make g++

COPY package.json ./
RUN npm install --omit=dev

COPY server.js ./

# A sessao pareada vive AQUI e precisa de volume: sem isso, cada deploy exige
# escanear o QR de novo.
VOLUME ["/data"]
ENV WHATSAPP_DATA_DIR=/data

EXPOSE 3001
CMD ["node", "server.js"]
