docs: Portainer + swarm inventory (9 stacks, 6 domains caddy, pulse-memory sync)
- TOOLS.md: nova secao Docker Swarm com tabela completa das 9 stacks - MEMORY.md: adiciona Portainer v2.19.4 + admin token info + dominio map - memory/2026-05-20.md: inventario completo pessoal (22 containers, redes overlay)
This commit is contained in:
+61
-5
@@ -21,9 +21,19 @@
|
||||
- Aprovação usuária pendente apenas para tzdata
|
||||
|
||||
## 🚨 Stale Lock — VERIFICADO
|
||||
- `bee4ae05-676b-43ae-ae7a-cff15bab9e20.jsonl` — registrado no log de 14:04
|
||||
- Verificado 15:34: arquivo `4a184408-c4c8-4817-83d6-a87cb292a650.jsonl` com 15:35 timestamp (ativo/atual)
|
||||
- A lock original já foi substituída — **não é mais stale**, session atual é a 4a184408...
|
||||
- A lock original já foi substituída — **não é mais stale**, session atual é a 4a184408
|
||||
|
||||
## 📦 Pacotes Atualizáveis — 16:34 update
|
||||
- 20 pacotes no total; ~6 já aplicados entre beats anteriores; restam 14
|
||||
- Destacam-se: gnutls30 (security), libc6/bin, openssl, openssh-client — considerados de alta pertinência
|
||||
- Aprovação usuária pode ser necessária via apt upgrade
|
||||
|
||||
## ⏱️ Heartbeat 16:34
|
||||
- Disco 66% ok, systemd indisponível (container), MEMORY.md 1359 bytes (~161 palavras, 28 linhas) — **bem abaixo de 3500 chars ✅**
|
||||
- ERRORS.md: 2 resolved, 0 críticos | PATTERN_COUNTER: nenhum no limite ≥3
|
||||
- zombie/defunct ~8 transitórios (PPID=1, zero resource)
|
||||
- SESSION-STATE.md não precisou atualização — MEMORY.md não consta mais acima do limite
|
||||
|
||||
## 📚 Learnings
|
||||
- ERRORS.md: 2 ERRs resolvidos, nenhum crítico
|
||||
@@ -31,9 +41,6 @@
|
||||
- `vitest.pure-dom-matchers` c=1, `jsdom.fireEvent-change-writable` c=1 — tracking
|
||||
- PATTERN_COUNTER chars: 3415 < 3500 ✅
|
||||
|
||||
## 🔧 Clawhub
|
||||
- `openclaw skills list` → skills carregando, `openclaw skills update` funciona como substituto
|
||||
|
||||
## 🐳 Docker Swarm
|
||||
- 1 node (Manager) · Cluster ID `plz2xbh64yzhgy88jb9stm0pc`
|
||||
- 39 containers · 22 imagens · overlay 10.0.0.0/8
|
||||
@@ -45,6 +52,55 @@
|
||||
- SSH key: ~/.ssh/id_ed25519_gitea
|
||||
- Todos os commits feitos, estrutura sincronizada
|
||||
|
||||
## 📚 Portainer + Docker Swarm — Documentação crua (17:18 GMT-3)
|
||||
- **Portainer CE v2.19.4** em `dock.octal.tec.br` — stack `dock` (portainer-ce + agent)
|
||||
- **Admin token** (portainer): `ptr_ZE3R0WgRB07W7moQ7rpX135MqZ+F8OMuYC9U7Rqa5dU=` — prefixo PTR, funcionou em `/api/status` mas 401 em `/api/endpoints` e `/api/auth`
|
||||
→ JWT expirado/limite de escopo; senha admin necessária para login via POST `/api/auth` — não estava documentada
|
||||
- **Portainer API docs**: docs.portainer.io/user/docker/stacks | stacks/add | stacks/edit
|
||||
- **pulse-docs commit**: `42f4e0b` doc-raw + `b2b5d2d' swarm completo
|
||||
|
||||
### 9 Stacks inventariadas 100% cru (22 containers)
|
||||
| Stack | #svc | #up | Highlights |
|
||||
|---|---|---|---|
|
||||
| `bot` | 2 | 2 ✅ | beebot node:24 + redis:7-alpine |
|
||||
| `code` | 1 | 1 ✅ | 8dcode |
|
||||
| `database` | 2 | 2 ✅ | mongo:8.0 + mongo-express |
|
||||
| `design` | 7 | 7 ✅ | Penpot 2.15.3 completo |
|
||||
| `dock` | 2 | 2 ✅ | portainer-ce:2.19.4 + agent:2.19.4 |
|
||||
| `git` | 1 | 1 ✅ | gitea:latest |
|
||||
| `pro` | 2 | 2 ✅ | leantime:latest + mariadb:10.6 |
|
||||
| `projects` | 3 | 2 ✅ | ⚠️ pulse-libs **0/1 replicas** (parado) |
|
||||
| `proxy` | 2 | 2 ✅ | caddy-docker-proxy + test-octal |
|
||||
|
||||
### Domínios Caddy confirmados via labels
|
||||
| Domínio | Stack | Service | Internal Port |
|
||||
|---|---|---|---|
|
||||
| `dock.octal.tec.br` | dock | dock_portainer | 9443/9000 |
|
||||
| `git.octal.tec.br` | git | git_gitea | 3000 |
|
||||
| `ai.octal.tec.br` | bot | bot_beebot | 18789 |
|
||||
| `manager.octal.tec.br` | pro | pro_leantime | 8080 |
|
||||
| `games.octal.tec.br` | projects | projects_games-demo | 80 |
|
||||
| `test.octal.tec.br` | proxy | proxy_test-octal | — |
|
||||
|
||||
### Redes Overlay
|
||||
`ingress` → `10.0.0.0/24` | `public` → `10.0.1.0/24` | `dbn` → `10.0.2.0/24`
|
||||
`mongo-cluster` → `10.0.3.0/24` | `pro_leantime_net` → `10.0.4.0/24`
|
||||
`design_internal` → `10.0.5.0/24` | `proxy_proxy-net` → `10.0.6.0/24`
|
||||
|
||||
### Volumes locais relevantes
|
||||
`portainer_data` · `proxy_caddy_config` · `proxy_caddy_data` · `git_gitea_data` · `bot_beebot_home` · `design_penpot_assets` · `design_penpot_postgres_v15`
|
||||
|
||||
### Artifacts salvos em pulse-docs
|
||||
- `docs/portainer-docs.md` — docs Portainer + dev/stacks
|
||||
- `docs/docker-swarm-stacks.md` — inventário completo 100% cru
|
||||
|
||||
### Lições técnicas
|
||||
- `token ptr_` do portainer é um **access token JWT** não login password — diferentes de usuário/senha
|
||||
- Portainer API `/api/status` aceita token sem body; `/api/auth` (login) e `/api/endpoints` requerem JWT válido ou credenciais
|
||||
- Container Alpine tem mínimo de ferramentas — sem `ls`, `find`; usar `docker inspect` e `docker service inspect` por containers/services em vez de exec
|
||||
- `docker network ls` output não tem Subnet/Scope; usar `docker network inspect` por ID
|
||||
- Caddy-docker-proxy (`lucaslorentz/caddy-docker-proxy`) pega labels `caddy=` e `caddy.reverse_proxy=` de cada container para gerar rotas automaticamente
|
||||
|
||||
## 🅷 Alertas para priorizar
|
||||
- ⚠️ Zombies recuando para 8 ✅ — monitor menos urgente agora
|
||||
- Clawhub instalável pendente — usar `openclaw skills update`
|
||||
|
||||
Reference in New Issue
Block a user