Como instalar o Uptime Kuma para monitorar seus sites

Atualizado em 21/09/2026 12 min Iniciante

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

terminal
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.

terminal
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.

Uma VPS pequena já resolve o monitoramento

O plano de entrada dá conta do Uptime Kuma e ainda sobra para outro serviço leve.

Ver planos de VPS

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