Review Mautic Stack
Executa uma auditoria completa do arquivo
e reporta conformidade, problemas e sugestões.
Instruções de Execução
Quando esta skill for invocada, siga exatamente este roteiro:
Passo 1 — Ler os arquivos
Leia o arquivo
completo. Leia também
para verificar a consistência das credenciais de banco.
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 mautic.audit.md.
Checks de Verificação
1. Variáveis de Ambiente Obrigatórias
Verifique se todas as variáveis abaixo estão definidas no anchor
:
Banco de dados MySQL/Percona ()
- — deve ser definido (padrão: )
- — deve ser definido (não deve ser )
- — deve existir e não deve ser o placeholder , compare com a senha definida em
- — deve ser definido (padrão: )
2. Serviços Obrigatórios
Verifique se todos estes serviços estão presentes:
| Serviço | Obrigatório |
|---|
| Sim |
| Sim |
| Sim |
3. Variáveis por Serviço
Verifique as variáveis específicas de cada serviço:
| Serviço | Variável | Valor Esperado |
|---|
| DOCKER_MAUTIC_LOAD_TEST_DATA
| (não carregar dados de teste em produção) |
| | |
| | |
Alertar se
DOCKER_MAUTIC_LOAD_TEST_DATA
não for
em produção.
4. Replicas dos Serviços
Verifique a quantidade de réplicas de cada serviço:
| Serviço | Réplicas Mínimas | Observação |
|---|
| 1 | Interface web principal |
| 1 | Não deve ter mais de 1 (evita execuções duplicadas) |
| 1 | Pode escalar para mais workers |
Alertar se
tiver mais de 1 réplica (pode causar execuções duplicadas de cron jobs).
5. Rotas Traefik
Para o serviço
, verifique:
- A âncora deve existir e conter um domínio válido (não placeholder como
mautic.agenciasynca.com.br
)
- O domínio na âncora deve ser idêntico ao domínio dentro de na label
traefik.http.routers.mautic.rule
- Se não forem iguais, reportar como ❌ Erro: inconsistência entre e a regra Traefik
Labels obrigatórias:
traefik.swarm.network=network_swarm_public
traefik.http.routers.mautic.rule
— deve conter com domínio válido e coincidir com
traefik.http.routers.mautic.entrypoints=websecure
traefik.http.routers.mautic.tls.certresolver=letsencryptresolver
traefik.http.routers.mautic.service=mautic
traefik.http.services.mautic.loadbalancer.server.port=80
Regras:
- e não devem ter labels Traefik (serviços de background)
6. Volumes Compartilhados
Verifique o anchor
e se todos os volumes são compartilhados entre todos os serviços:
| Volume | Caminho | Deve Ser Compartilhado |
|---|
| | Entre todos os serviços |
| | Entre todos os serviços |
| /var/www/html/docroot/media/files
| Entre todos os serviços |
| /var/www/html/docroot/media/images
| Entre todos os serviços |
Alertar se algum serviço não estiver usando o anchor
.
7. Recursos dos Containers
Para cada serviço, verifique os limites de recursos:
| Serviço | CPU Mínimo | Memória Máxima |
|---|
| "1" | 1024M |
| — | verificar se tem limits definidos |
| — | verificar se tem limits definidos |
Alertar se
ou
não tiverem
definidos.
8. Configuração de Deploy
Para cada serviço, verifique:
- — todos devem ser
- — deve incluir
- Verificar se há com e (recomendado)
9. Redes e Imagens
Redes:
- Todos os serviços devem estar na rede
- A rede deve ser declarada como na seção
Imagens:
- Todos os serviços devem usar (anchor)
- Verificar se a imagem usa tag específica de versão em vez de (recomendado em produção)
10. Segurança
- não deve ser (placeholder)
- não deve ser (privilégio excessivo)
DOCKER_MAUTIC_LOAD_TEST_DATA
deve ser em produção
- Verificar se o banco existe no MySQL (usuário com acesso apenas ao banco )
Formato do Relatório de Saída
Ao final, produza um relatório estruturado:
# Relatório de Auditoria — mautic.yaml
Data: <data atual>
## Resumo
- Total de checks: X
- ✅ OK: X
- ⚠️ Atenções: X
- ❌ Erros: X
## Resultados por Categoria
### 1. Variáveis de Ambiente
✅ MAUTIC_DB_HOST: definido como `mysql`
❌ MAUTIC_DB_PASSWORD: usando placeholder SENHA_MAUTIC — troque antes do deploy
...
### 2. Serviços
✅ mautic_web: presente
✅ mautic_cron: presente
✅ mautic_worker: presente
### 3. Variáveis por Serviço
✅ mautic_web: DOCKER_MAUTIC_LOAD_TEST_DATA=false
✅ mautic_cron: DOCKER_MAUTIC_ROLE=mautic_cron
...
### 4. Replicas
✅ mautic_cron: 1 réplica (sem risco de duplicação)
⚠️ mautic_worker: sem resource limits definidos
...
### 5. Rotas Traefik
✅ mautic_web: rota Host correta, TLS ok
✅ mautic_cron: sem Traefik (correto)
...
### 6. Volumes
✅ mautic_config: compartilhado entre todos os serviços
✅ mautic_media_files: compartilhado entre todos os serviços
...
### 7. Recursos
⚠️ mautic_cron: sem resource limits — recomendado definir
...
### 8. Deploy
⚠️ update_config não definido — recomendado configurar start-first e rollback
...
### 9. Redes e Imagens
⚠️ Imagem usando `latest` — considere fixar uma versão em produção
...
### 10. Segurança
❌ MAUTIC_DB_PASSWORD: placeholder SENHA_MAUTIC detectado
...
## Ações Recomendadas (por prioridade)
### Crítico (fazer antes do deploy)
1. ...
### Recomendado
1. ...
### Opcional
1. ...