Como instalar o Uptime Kuma para monitorar seus sites
Descobrir que o site caiu pelo cliente é o pior jeito de descobrir. O Uptime Kuma verifica seus endereços de minuto em minuto e avisa no canal que você escolher assim que algo para de responder.
Ele também acompanha o vencimento dos certificados HTTPS — o que evita aquele domingo em que o site fica fora porque o certificado expirou sem ninguém notar.
Antes de começar
- VPS com Docker — veja o guia de Docker.
- Subdomínio apontado para o IP, por exemplo
status.seudominio.com.br. - Consumo baixo, em torno de 150 MB. Roda em qualquer plano.
Suba o serviço
mkdir -p /opt/uptime && cd /opt/uptime
cat > docker-compose.yml <<'EOF'
services:
uptime-kuma:
image: louislam/uptime-kuma:1
restart: unless-stopped
volumes:
- uptime_data:/app/data
caddy:
image: caddy:2-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
environment:
DOMINIO: status.seudominio.com.br
EMAIL: [email protected]
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy_data:/data
- caddy_config:/config
volumes:
uptime_data:
caddy_data:
caddy_config:
EOF
cat > Caddyfile <<'EOF'
{$DOMINIO} {
tls {$EMAIL}
reverse_proxy uptime-kuma:3001
}
EOF
docker compose up -d
Abra o endereço e crie a conta de administrador na primeira visita.
Monitore o essencial primeiro
Comece pelo que dói quando cai. Em Add New Monitor:
- HTTP(s) para o site principal — marque também a verificação de validade do certificado.
- Keyword para páginas que podem responder 200 sem estar funcionando: ele checa se uma palavra existe no HTML.
- TCP Port para banco de dados ou serviços internos.
- Ping para a própria VPS, que separa "o servidor caiu" de "a aplicação caiu".
Intervalo de 60 segundos é suficiente para quase tudo. Verificações de 20 em 20 segundos multiplicam o tráfego e raramente mudam sua reação.
Configure o alerta
Em Settings → Notifications há dezenas de integrações prontas: Telegram, Discord, e-mail, webhook genérico.
Se você tem a Evolution API rodando, use o tipo Webhook apontando para o endpoint de envio de texto — o alerta chega no WhatsApp.
Não coloque o alerta para sair no mesmo servidor que está sendo monitorado. Se a VPS cair inteira, o aviso cai junto. Para o monitor principal, use um canal externo como Telegram.
Publique uma página de status
Em Status Pages você monta uma página pública com os serviços que quiser mostrar. É útil para clientes consultarem sozinhos em vez de abrirem ticket perguntando se está fora.
Backup
Tudo do Uptime Kuma vive num volume só — o backup é uma linha.
cat > /opt/uptime/backup.sh <<'EOF'
#!/bin/bash
set -e
DESTINO=/opt/uptime/backups
mkdir -p $DESTINO
docker run --rm -v uptime_uptime_data:/dados -v "$DESTINO":/backup alpine \
tar czf "/backup/uptime-$(date +%Y%m%d).tar.gz" -C /dados .
find "$DESTINO" -name '*.tar.gz' -mtime +14 -delete
EOF
chmod +x /opt/uptime/backup.sh
(crontab -l 2>/dev/null; echo '30 3 * * * /opt/uptime/backup.sh') | crontab -
Se algo não funcionar
Recebo alerta de queda, mas o site está no ar
Normalmente é firewall ou WAF bloqueando o agente por parecer robô. Ajuste o monitor para enviar um user agent reconhecível, ou libere o IP da VPS de monitoramento no seu WAF.
O alerta não chega
Use o botão Test na tela da notificação — ele mostra o erro exato da integração, que quase sempre é token errado ou webhook com URL incompleta.
O plano de entrada dá conta do Uptime Kuma e ainda sobra para outro serviço leve.
Perguntas frequentes
Posso monitorar sites que não estão nessa VPS?
Sim, qualquer endereço público. Aliás é o recomendado: monitorar de fora do servidor monitorado é o que garante um aviso quando a máquina inteira cai.
Quantos monitores ele aguenta?
Dezenas sem esforço numa VPS modesta. O consumo cresce com a frequência das verificações, não tanto com a quantidade de endereços.
Continue por aqui
Como instalar o Portainer para gerenciar contêineres pelo navegador
Painel web para ver logs, reiniciar contêineres e acompanhar consumo sem depender da linha de comando.
Como instalar o Docker em uma VPS Ubuntu
Base para qualquer serviço auto-hospedado: Docker, Compose, usuário sem root e limpeza automática de imagens.
Como proteger uma VPS Ubuntu: o básico que evita 99% dos ataques
Chave SSH, firewall, fail2ban e atualizações automáticas — a base que separa um servidor invadido de um servidor em paz.