# Use Node.js LTS (Long Term Support) como base FROM node:22-alpine RUN apk add git nano openssh # Definir o diretório de trabalho WORKDIR /app # Copiar arquivos de dependências COPY package*.json ./ # Instalar dependências de produção RUN npm ci --only=production && npm cache clean --force # Criar usuário não-root para segurança RUN addgroup -g 1001 -S nodejs && \ adduser -S botuser -u 1001 -G nodejs # Copiar código fonte COPY . . # Criar diretório de logs e definir permissões RUN mkdir -p /app/logs && \ chown -R botuser:nodejs /app && \ chmod -R 755 /app # Mudar para usuário não-root USER botuser # Expor porta (se necessário para health checks) EXPOSE 3000 # Definir variáveis de ambiente padrão ENV NODE_ENV=production ENV BOT_DEBUG=false ENV TZ=America/Araguaina # Health check HEALTHCHECK --interval=30s --timeout=10s --start-period=40s --retries=3 \ CMD node -e "console.log('Bot is running')" || exit 1 # Comando para iniciar o bot CMD ["npm", "start"]