# 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"]
