docs(stack-proxy): runbook deploy Docker Swarm com Caddy — modelo extraido do stack git funcionando

- DOCKER-SWARM-RUNBOOK.md: padrao 8 stacks, 20 containers
- Caddy modelo: labels + caddy.reverse_proxy + rede public
- Restart: registrado na memoria (porta 80 nao funcionava com bind mount em Docker Swarm)
This commit is contained in:
Pulse Agent
2026-05-20 15:51:24 -03:00
parent 69da0a315f
commit 81c6282ab0
4 changed files with 120 additions and 41 deletions
+24 -12
View File
@@ -2,9 +2,9 @@
_Atualizado: 2026-05-20 | Responsável: Pulse Agent_
## \u0001Servicos por Stack
## 📋 Inventário de Stacks (8 ativos)
| Stack | Servicos | Status |
| Stack | Serviços | Status |
|-------|----------|--------|
| bot | beebot | 🟢 |
| code | file (8dcode) | 🟢 |
@@ -15,23 +15,35 @@ _Atualizado: 2026-05-20 | Responsável: Pulse Agent_
| pro | leantime, leantime-db | 🟡 |
| proxy | caddy (80/443) | 🟢 |
## Recuperacao rapida
## 🚨 Serviços críticos e seus riscos
\`\`\`bash
| Serviço | Risco | Recuperação |
|---------|-------|-------------|
| `bot_office` | HIGH — OOM kill (exit 137), agora UP porém frágil | `docker service scale bot_office=2` |
| `database_mongos-master` | HIGH — 4 containers falharam exit(139) SIGSEGV | `docker service update --force database_mongos-master` |
| `pro_leantime` | HIGH — 4 containers unhealthy, exit(137) | `docker service update --force pro_leantime` |
| `dock_portainer` | MEDIUM — múltiplos Failed | `docker service update --force dock_portainer` |
| `proxy_caddy` | MEDIUM — mount path inválido em réplicas antigas | fix compose mount |
## 🔧 Comandos de recuperação rápida
```bash
# Status detalhado
docker stack ps --no-trunc --no-resolve <stack>
# Forcar restart
# Forçar recriação
docker service update --force <stack>_<service>
# Escalar (forcar nova réplica)
# Escalar (forçar nova réplica)
docker service scale <stack>_<service>=2
docker service scale <stack>_<service>=1
# Limpar orfaos
docker ps -a -f 'status=exited' --format '{{.Names}}' | xargs -r docker rm -f
\`\`\`
# Limpar órfãos
docker ps -a -f 'status=exited' --format '{{.Names}}' | xargs docker rm -f
docker ps -a -f 'status=dead' --format '{{.Names}}' | xargs docker rm -f
```
## Health check coverage
- 3/19 containers com health check definido
- TODO: adicionar para bot_office, gitea, pro_leantime-db, todos do design stack
## 📊 Health check coverage
- **3/19** containers com health check definido
- **TODO**: adicionar health check para bot_office, gitea, pro_leantime-db, todos do design stack