promovaweb-devops-review-uptime-kuma-stack
Review Uptime Kuma Stack
Executa uma auditoria completa do arquivo uptime-kuma.yaml e reporta conformidade, problemas e sugestões.
Instruções de Execução
Quando esta skill for invocada, siga exatamente este roteiro:
Passo 1 — Ler o arquivo
Leia o arquivo uptime-kuma.yaml completo.
Passo 2 — Executar todos os checks abaixo
Execute cada bloco de verificação e registre os resultados (✅ OK / ⚠️ Atenção / ❌ Erro).
Passo 3 — Gravar o resultado
Grave o relatório completo em um arquivo chamado uptime-kuma.audit.md.
Checks de Verificação
1. Imagem
Verifique o anchor x-uptime-kuma-image:
- A imagem deve ser
louislam/uptime-kuma:2ou versão superior com tag major fixada - Alertar se estiver usando
louislam/uptime-kuma:latest(sem versão) - A versão 2 tem banco SQLite interno — verificar se o volume de dados está corretamente montado
2. Serviço
Verifique se o serviço uptime-kuma está presente e corretamente configurado.
3. Portas Expostas
3001:3001— verificar se a porta interna está exposta- Alertar se a porta 3001 estiver exposta externamente quando Traefik já está configurado (redundante)
- Recomendar remover exposição direta de porta e usar apenas Traefik para acesso externo
4. Volumes
uptime_kuma_data— deve ser declarado comoexternal: true- Verificar se está montado em
/app/data - Alertar se o volume não for externo (configurações e histórico de monitoramento perdidos em redeploy)
- Verificar se
/var/run/docker.sockestá montado (necessário para monitorar containers Docker)
5. Docker Socket
/var/run/docker.sock:/var/run/docker.sock— verificar se está presente- Necessário para o recurso de monitoramento de containers Docker
- Alertar se estiver montado sem
:ro(idealmente somente leitura, mas Uptime Kuma pode requerer escrita) - Verificar se o comentário de uso no YAML está presente
6. Réplicas
| Serviço | Réplicas Esperadas | Observação |
|---|---|---|
uptime-kuma |
1 | Uptime Kuma é stateful (SQLite), não deve ter mais de 1 réplica |
Alertar se houver mais de 1 réplica (SQLite não suporta acesso concorrente de múltiplas instâncias).
7. Rotas Traefik
Para o serviço uptime-kuma, verifique:
Âncora de endereço (x-uptime-kuma-app-url):
- A âncora
x-uptime-kuma-app-urldeve existir e conter um domínio válido (não placeholder comostatus.agenciasynca.com.br) - O domínio na âncora deve ser idêntico ao domínio dentro de
Host(...)na labeltraefik.http.routers.uptime-kuma.rule - Se não forem iguais, reportar como ❌ Erro: inconsistência entre
x-uptime-kuma-app-urle a regra Traefik
Labels obrigatórias:
traefik.enable=truetraefik.swarm.network=network_swarm_publictraefik.http.routers.uptime-kuma.rule— deve conterHost(...)com domínio válido (nãostatus.agenciasynca.com.brse placeholder)traefik.http.routers.uptime-kuma.entrypoints=websecuretraefik.http.routers.uptime-kuma.tls.certresolver=letsencryptresolvertraefik.http.routers.uptime-kuma.service=uptime-kumatraefik.http.services.uptime-kuma.loadbalancer.server.port=3001
Regras:
- O domínio configurado deve ser acessível publicamente (página de status pública)
8. Recursos do Container
| Serviço | CPU Mínimo | Memória Máxima |
|---|---|---|
uptime-kuma |
"1" | 1024M |
- Uptime Kuma é leve — 512M geralmente suficiente para uso normal
- Alertar se não tiver
resources.limitsdefinido
9. Configuração de Deploy
mode: replicated— deve serreplicatedplacement.constraints— deve incluirnode.role == manager- Verificar se há
update_configcomorder: start-firstefailure_action: rollback(recomendado)
10. Redes e Imagens
Redes:
- O serviço deve estar na rede
network_swarm_public - A rede deve ser declarada como
external: true
11. Segurança
- A página de status pode ser pública — verificar se isso é intencional
- Uptime Kuma tem autenticação própria — lembrar de configurar conta de administrador no primeiro acesso
- Docker socket montado — avaliar se o monitoramento de containers Docker é necessário
- Porta 3001 exposta + Traefik: considere remover exposição direta
Formato do Relatório de Saída
Ao final, produza um relatório estruturado:
# Relatório de Auditoria — uptime-kuma.yaml
Data: <data atual>
## Resumo
- Total de checks: X
- ✅ OK: X
- ⚠️ Atenções: X
- ❌ Erros: X
## Resultados por Categoria
### 1. Imagem
✅ louislam/uptime-kuma:2: versão major fixada
...
### 2. Serviço
✅ uptime-kuma: presente
### 3. Portas
⚠️ Porta 3001 exposta e Traefik configurado — considere remover exposição direta
...
### 4. Volumes
✅ uptime_kuma_data: volume externo em /app/data
✅ docker.sock: montado para monitoramento de containers
...
### 5. Docker Socket
⚠️ docker.sock montado sem :ro — necessário para Uptime Kuma mas atenção ao acesso
...
### 6. Réplicas
✅ uptime-kuma: 1 réplica (correto para SQLite)
...
### 7. Rotas Traefik
✅ uptime-kuma: rota Host correta, TLS ok
...
### 8. Recursos
✅ 1024M de memória configurada (adequado)
...
### 9. Deploy
⚠️ update_config não definido — recomendado configurar
...
### 10. Redes
✅ network_swarm_public: configurado como external
...
### 11. Segurança
⚠️ Configure conta de administrador no primeiro acesso
⚠️ Verifique se a página de status pública é intencional
...
## Ações Recomendadas (por prioridade)
### Crítico (fazer antes do deploy)
1. ...
### Recomendado
1. ...
### Opcional
1. ...
More from promovaweb/skills-devops
promovaweb-devops-docker
Verifica o ambiente Docker do servidor — versão do Docker Engine, status do Swarm, nós do cluster, rede network_swarm_public, volumes externos e conformidade geral com as recomendações da Promovaweb.
10promovaweb-devops-review-evolution-go-stack
Verifica a Stack do Evolution Go. Além disso analisa parâmetros, rotas Traefik, volumes, recursos e conformidade do stack Evolution Go de Acordo com as Recomendações da Promovaweb.
9promovaweb-devops-docker-volumes
Implemente armazenamento persistente com Docker volumes, bind mounts e estratégias de backup
9promovaweb-devops-review-chatwoot-stack
Verifica a Stack do Chatwoot. Além disso analisa parâmetros, rotas Traefik, volumes, recursos e conformidade do stack Chatwoot de Acordo com as Recomendações da Promovaweb.
9promovaweb-devops-docker-networking
Configure a rede (networking) do Docker para containers, incluindo bridge, overlay e service discovery
9promovaweb-devops-review-kestra-stack
Verifica a Stack do Kestra. Além disso analisa parâmetros, rotas Traefik, volumes, recursos e conformidade do stack Kestra de Acordo com as Recomendações da Promovaweb.
9